)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"bd32c51a416edcb2388a09618cd1918436bb44f4","unresolved":true,"context_lines":[{"line_number":13,"context_line":"is driver agnostic, so this feature should be not limited to specific"},{"line_number":14,"context_line":"driver, although it is only tested against NetApp driver. The feature is"},{"line_number":15,"context_line":"enabled by a new share service option"},{"line_number":16,"context_line":"\u0027server_migration_extend_neutron_network\u0027. But note multiple binding for"},{"line_number":17,"context_line":"Manila ports should be supported by neutron ML2 plugin."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #2002019"},{"line_number":20,"context_line":"Change-Id: I18d0dd1847a09f28989b1a2b62fc6ff8f8155def"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"173d7ff0_563a7747","line":17,"range":{"start_line":16,"start_character":42,"end_line":17,"end_character":55},"updated":"2024-08-14 08:57:34.000000000","message":"You could mention, that support to neutron has been added in the 2023.1 release.\n\nSee https://review.opendev.org/c/openstack/neutron/+/869295","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"421b0b2732d5f75739e0cd4c010f7be301298f9f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"is driver agnostic, so this feature should be not limited to specific"},{"line_number":14,"context_line":"driver, although it is only tested against NetApp driver. The feature is"},{"line_number":15,"context_line":"enabled by a new share service option"},{"line_number":16,"context_line":"\u0027server_migration_extend_neutron_network\u0027. But note multiple binding for"},{"line_number":17,"context_line":"Manila ports should be supported by neutron ML2 plugin."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #2002019"},{"line_number":20,"context_line":"Change-Id: I18d0dd1847a09f28989b1a2b62fc6ff8f8155def"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"52269f2f_951c4a5a","line":17,"range":{"start_line":16,"start_character":42,"end_line":17,"end_character":55},"in_reply_to":"173d7ff0_563a7747","updated":"2024-08-29 15:22:24.000000000","message":"done","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e22bb8d2dc08fd749921bd9cbdb776685c02f888","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2cac58e0_9e090fd0","updated":"2023-01-27 22:08:03.000000000","message":"Hi Chuan! Thanks for proposing this; Have you tested this in your cloud? I suspect NetApp\u0027s CI would not be feasible to test this, but we\u0027d get regression testing with it where these new code paths aren\u0027t visited. \n\nI would like to see some unit test coverage for the new code please, as well as a release note describing the new configuration option and the bug being resolved: https://docs.openstack.org/manila/latest/contributor/adding_release_notes.html","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"4ac08460709cdb75e98a7bce3c444e70a54beb3d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e9c29d7d_2c34903e","updated":"2023-08-14 03:37:36.000000000","message":"LOG.error(msg) followed by NetAppException is raised in #5858,#5864 now #5868. Is it possible to consolidate into #5868.","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":35002},"change_message_id":"800456cf17ffb3eda0b3e7d056788278820aed48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"dff2405a_ea615983","updated":"2023-02-10 12:48:56.000000000","message":"Thanks, Chuan Miao. Besides Goutham\u0027s comment, the rest LGTM.","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"391f3574b656d982443abf769966d4f874708d2e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"44a64736_d12b26e0","in_reply_to":"2cac58e0_9e090fd0","updated":"2023-02-01 22:49:56.000000000","message":"Hi Goutham! Thanks for reviewing this. I will add some unit tests and release note.\n\nand yes I have tested in SAP\u0027s cloud but only manually. It would be nice to regression test the new codes in your CI as well. Since I have not differentiated whether or not the host are on different physical networks, share manager should go through the same code path even if the target pool is on the same physical network as the source. I hope tests will cover the new codes when the option `server_migration_extend_neutron_network` is enabled. Would that be an valid option?","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"8bc27a3491e799a13cbe556b9c2d100be5dc8253","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9b0b9527_75e84e9a","in_reply_to":"44a64736_d12b26e0","updated":"2024-06-27 20:10:43.000000000","message":"Added unit tests for the new methods in neutron plugin class","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"8bc27a3491e799a13cbe556b9c2d100be5dc8253","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1509e145_b8819d07","updated":"2024-06-27 20:10:43.000000000","message":"After proposing this change, we have run server migrations using it in production for some time. We have found some issues for corner cases, usually related old leftover network objects. At the moment, it looks quite stable. So I have merged those fixes here.","commit_id":"f2ca7b17103de0a4032aac9f04c8031cd95a0edc"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"157ccef24bf8c1ee58d8c11e168930141e67e7e4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8e8c2fb7_24ffa104","updated":"2024-08-17 17:56:22.000000000","message":"Add the release note for this feature","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"afede511a6d7060afe3bc3b951778c5c55da8af8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8c833317_23a8d8b7","updated":"2024-08-17 17:55:51.000000000","message":"Thanks for implementing this feature, I have few comments here","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"bd32c51a416edcb2388a09618cd1918436bb44f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ab10109e_e7e7bbde","updated":"2024-08-14 08:57:34.000000000","message":"Would you be so kind to adjust to the simplification of not storing the network allocations with custom label? The tests still do this extra exercise.","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"85cde3020e12884d39a23c3f9214389e49968e88","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cb3896d2_8dd39d9f","updated":"2024-08-17 17:57:06.000000000","message":"code coverage is missing for 51 new added lines. please add the more unit test to cover those \n\nAllowed to introduce missing lines : 4\n2024-07-23 08:01:16.704005 | ubuntu-jammy | Missing lines in master            : 6735\n2024-07-23 08:01:16.704035 | ubuntu-jammy | Missing lines in proposed change   : 6786\n2024-07-23 08:01:16.704050 | ubuntu-jammy | Name                                                                                                                           Stmts   Miss Branch BrPart  Cover","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1a206f334f061267cb691a4fd0294a02eb35d0e2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"315265fb_0ce8f66d","in_reply_to":"8e8c2fb7_24ffa104","updated":"2024-09-10 08:46:39.000000000","message":"Release note is added so resolving the comments","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"72738b3b3200dc50b43382663a2d60aa900a5f78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"32920be8_0dc859a4","updated":"2024-08-29 15:04:27.000000000","message":"I have made some quick fixes based on the review. Working on unit test in the meanwhile.","commit_id":"cf615754e0417a92cc8c593ffa23f6c923cb44d3"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"b168e093e2bd4e2738b0210053c70437b345ab5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f2fd551c_6dba04a8","in_reply_to":"32920be8_0dc859a4","updated":"2024-08-29 20:11:08.000000000","message":"Updated unit test and adding new tests for neutron client","commit_id":"cf615754e0417a92cc8c593ffa23f6c923cb44d3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"85fd858e6399cb047679fac5b575eea9da85256c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9ba65e16_de6c2983","updated":"2024-08-30 00:28:21.000000000","message":"Hi @chuan137@gmail.com\n\nThis looks good to me\n\nCould you please include a release note: https://docs.openstack.org/manila/latest/contributor/adding_release_notes.html","commit_id":"5199a7c678c2839cbb9e336cafa016c30b756c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2277d22bf188371310c21c336f901f543e6d568e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b2ef9b7d_042daa44","updated":"2024-09-04 05:50:37.000000000","message":"LGTM; thanks Chuan!","commit_id":"6662231c7f180bc04423a8f6075249953232d7a6"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1a206f334f061267cb691a4fd0294a02eb35d0e2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"a08ef155_a15ed800","updated":"2024-09-10 08:46:39.000000000","message":"LGTM ..!","commit_id":"7085a3eaf10fdb15b850204e721f2f58a443699d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6d3c70971a2a8f9e9e70287dc9effa08c903fdf3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"826dd41a_388472cb","updated":"2024-09-09 19:11:24.000000000","message":"LGTM, thank you!\nWaiting on Gireesh\u0027s feedback to pull the trigger :)","commit_id":"7085a3eaf10fdb15b850204e721f2f58a443699d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"40765116005deb833d6d6d04d6a8a9845dbe99ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"463caccb_36165866","updated":"2024-09-10 17:43:30.000000000","message":"Let\u0027s get this in.. thank you Chuan!","commit_id":"7085a3eaf10fdb15b850204e721f2f58a443699d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"84d12a3a3fab902bb40b55727757111ae21e9e35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"add693b5_770128b6","updated":"2024-09-04 14:52:33.000000000","message":"Still LGTM; thank you","commit_id":"7085a3eaf10fdb15b850204e721f2f58a443699d"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"afede511a6d7060afe3bc3b951778c5c55da8af8","unresolved":true,"context_lines":[{"line_number":5574,"context_line":"@require_context"},{"line_number":5575,"context_line":"@context_manager.reader"},{"line_number":5576,"context_line":"def share_server_backend_details_get_item(context, share_server_id, meta_key):"},{"line_number":5577,"context_line":"    _share_server_get(context, share_server_id)"},{"line_number":5578,"context_line":""},{"line_number":5579,"context_line":"    try:"},{"line_number":5580,"context_line":"        meta_ref \u003d _share_server_backend_details_get_item("}],"source_content_type":"text/x-python","patch_set":5,"id":"428b1cf3_7fb3765a","line":5577,"range":{"start_line":5577,"start_character":4,"end_line":5577,"end_character":47},"updated":"2024-08-17 17:55:51.000000000","message":"This is get method, what is the use of calling this here if you are not assigning any value to this ..?","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"421b0b2732d5f75739e0cd4c010f7be301298f9f","unresolved":false,"context_lines":[{"line_number":5574,"context_line":"@require_context"},{"line_number":5575,"context_line":"@context_manager.reader"},{"line_number":5576,"context_line":"def share_server_backend_details_get_item(context, share_server_id, meta_key):"},{"line_number":5577,"context_line":"    _share_server_get(context, share_server_id)"},{"line_number":5578,"context_line":""},{"line_number":5579,"context_line":"    try:"},{"line_number":5580,"context_line":"        meta_ref \u003d _share_server_backend_details_get_item("}],"source_content_type":"text/x-python","patch_set":5,"id":"436d5aa9_c8b57cdf","line":5577,"range":{"start_line":5577,"start_character":4,"end_line":5577,"end_character":47},"in_reply_to":"428b1cf3_7fb3765a","updated":"2024-08-29 15:22:24.000000000","message":"fixed","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"afede511a6d7060afe3bc3b951778c5c55da8af8","unresolved":true,"context_lines":[{"line_number":5581,"context_line":"            context, share_server_id, meta_key)"},{"line_number":5582,"context_line":"    except exception.ShareServerBackendDetailsNotFound:"},{"line_number":5583,"context_line":"        return None"},{"line_number":5584,"context_line":"    return meta_ref[\u0027value\u0027]"},{"line_number":5585,"context_line":""},{"line_number":5586,"context_line":""},{"line_number":5587,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":5,"id":"738fe4c9_d52c0cc1","line":5584,"range":{"start_line":5584,"start_character":4,"end_line":5584,"end_character":28},"updated":"2024-08-17 17:55:51.000000000","message":"change it to meta_ref.get(\u0027value\u0027), this is more safe in case meta_ref empty string or dictionary doesn\u0027t have \"value\" key","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"421b0b2732d5f75739e0cd4c010f7be301298f9f","unresolved":false,"context_lines":[{"line_number":5581,"context_line":"            context, share_server_id, meta_key)"},{"line_number":5582,"context_line":"    except exception.ShareServerBackendDetailsNotFound:"},{"line_number":5583,"context_line":"        return None"},{"line_number":5584,"context_line":"    return meta_ref[\u0027value\u0027]"},{"line_number":5585,"context_line":""},{"line_number":5586,"context_line":""},{"line_number":5587,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":5,"id":"293f37ae_bd78413c","line":5584,"range":{"start_line":5584,"start_character":4,"end_line":5584,"end_character":28},"in_reply_to":"738fe4c9_d52c0cc1","updated":"2024-08-29 15:22:24.000000000","message":"fixed","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"afede511a6d7060afe3bc3b951778c5c55da8af8","unresolved":true,"context_lines":[{"line_number":5750,"context_line":"    ).filter_by("},{"line_number":5751,"context_line":"        share_server_id\u003dshare_server_id,"},{"line_number":5752,"context_line":"    )"},{"line_number":5753,"context_line":"    if label:"},{"line_number":5754,"context_line":"        if label \u003d\u003d \u0027user\u0027:"},{"line_number":5755,"context_line":"            query \u003d query.filter(or_("},{"line_number":5756,"context_line":"                # NOTE(vponomaryov): we treat None as alias for \u0027user\u0027."},{"line_number":5757,"context_line":"                models.NetworkAllocation.label \u003d\u003d None,  # noqa"}],"source_content_type":"text/x-python","patch_set":5,"id":"66b31021_dea222d8","line":5754,"range":{"start_line":5753,"start_character":4,"end_line":5754,"end_character":27},"updated":"2024-08-17 17:55:51.000000000","message":"combine these 2 conditions \nif label and label \u003d\u003d \u0027user\u0027:","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"72738b3b3200dc50b43382663a2d60aa900a5f78","unresolved":true,"context_lines":[{"line_number":5750,"context_line":"    ).filter_by("},{"line_number":5751,"context_line":"        share_server_id\u003dshare_server_id,"},{"line_number":5752,"context_line":"    )"},{"line_number":5753,"context_line":"    if label:"},{"line_number":5754,"context_line":"        if label \u003d\u003d \u0027user\u0027:"},{"line_number":5755,"context_line":"            query \u003d query.filter(or_("},{"line_number":5756,"context_line":"                # NOTE(vponomaryov): we treat None as alias for \u0027user\u0027."},{"line_number":5757,"context_line":"                models.NetworkAllocation.label \u003d\u003d None,  # noqa"}],"source_content_type":"text/x-python","patch_set":5,"id":"caba14a0_c6282032","line":5754,"range":{"start_line":5753,"start_character":4,"end_line":5754,"end_character":27},"in_reply_to":"66b31021_dea222d8","updated":"2024-08-29 15:04:27.000000000","message":"merging those 2 conditions will change the flow in else block, which is executed only when label is not None and is not \u0027user\u0027.","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1a206f334f061267cb691a4fd0294a02eb35d0e2","unresolved":false,"context_lines":[{"line_number":5750,"context_line":"    ).filter_by("},{"line_number":5751,"context_line":"        share_server_id\u003dshare_server_id,"},{"line_number":5752,"context_line":"    )"},{"line_number":5753,"context_line":"    if label:"},{"line_number":5754,"context_line":"        if label \u003d\u003d \u0027user\u0027:"},{"line_number":5755,"context_line":"            query \u003d query.filter(or_("},{"line_number":5756,"context_line":"                # NOTE(vponomaryov): we treat None as alias for \u0027user\u0027."},{"line_number":5757,"context_line":"                models.NetworkAllocation.label \u003d\u003d None,  # noqa"}],"source_content_type":"text/x-python","patch_set":5,"id":"a4066d08_51d8493b","line":5754,"range":{"start_line":5753,"start_character":4,"end_line":5754,"end_character":27},"in_reply_to":"caba14a0_c6282032","updated":"2024-09-10 08:46:39.000000000","message":"agree","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"}],"manila/network/neutron/neutron_network_plugin.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e22bb8d2dc08fd749921bd9cbdb776685c02f888","unresolved":true,"context_lines":[{"line_number":453,"context_line":"                \u0027Can not extend network with no active bindings\u0027)"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"        if len(dest_port_bindings) \u003d\u003d 0:"},{"line_number":456,"context_line":"            # Create port binding on destination backend. Exception is ignored"},{"line_number":457,"context_line":"            # in the neutron api call, if the port is already bound to"},{"line_number":458,"context_line":"            # destination host."},{"line_number":459,"context_line":"            for port in active_port_bindings:"},{"line_number":460,"context_line":"                self.neutron_api.bind_port_to_host(port.id, host, vnic_type)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"            # Get the segmentation id on destination host"},{"line_number":463,"context_line":"            neutron_network_id \u003d share_server[\u0027share_network_subnet\u0027].get("}],"source_content_type":"text/x-python","patch_set":1,"id":"d92ea0e7_a323bfbb","line":460,"range":{"start_line":456,"start_character":0,"end_line":460,"end_character":76},"updated":"2023-01-27 22:08:03.000000000","message":"can this be done after identifying the VLAN i.e. after line 472?","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"73efa1b5947d415204874546952280ff9e06f12b","unresolved":true,"context_lines":[{"line_number":453,"context_line":"                \u0027Can not extend network with no active bindings\u0027)"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"        if len(dest_port_bindings) \u003d\u003d 0:"},{"line_number":456,"context_line":"            # Create port binding on destination backend. Exception is ignored"},{"line_number":457,"context_line":"            # in the neutron api call, if the port is already bound to"},{"line_number":458,"context_line":"            # destination host."},{"line_number":459,"context_line":"            for port in active_port_bindings:"},{"line_number":460,"context_line":"                self.neutron_api.bind_port_to_host(port.id, host, vnic_type)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"            # Get the segmentation id on destination host"},{"line_number":463,"context_line":"            neutron_network_id \u003d share_server[\u0027share_network_subnet\u0027].get("}],"source_content_type":"text/x-python","patch_set":1,"id":"17f48020_ac20002f","line":460,"range":{"start_line":456,"start_character":0,"end_line":460,"end_character":76},"in_reply_to":"2a332b12_39f9733e","updated":"2024-07-02 09:28:56.000000000","message":"@gouthampravi@gmail.com added _wait_for_network_segment to make sure VLAN is created by neutron.","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"391f3574b656d982443abf769966d4f874708d2e","unresolved":true,"context_lines":[{"line_number":453,"context_line":"                \u0027Can not extend network with no active bindings\u0027)"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"        if len(dest_port_bindings) \u003d\u003d 0:"},{"line_number":456,"context_line":"            # Create port binding on destination backend. Exception is ignored"},{"line_number":457,"context_line":"            # in the neutron api call, if the port is already bound to"},{"line_number":458,"context_line":"            # destination host."},{"line_number":459,"context_line":"            for port in active_port_bindings:"},{"line_number":460,"context_line":"                self.neutron_api.bind_port_to_host(port.id, host, vnic_type)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"            # Get the segmentation id on destination host"},{"line_number":463,"context_line":"            neutron_network_id \u003d share_server[\u0027share_network_subnet\u0027].get("}],"source_content_type":"text/x-python","patch_set":1,"id":"2a332b12_39f9733e","line":460,"range":{"start_line":456,"start_character":0,"end_line":460,"end_character":76},"in_reply_to":"d92ea0e7_a323bfbb","updated":"2023-02-01 22:49:56.000000000","message":"no, it is the exactly the purpose of creating the port binding on the target host. Until port binding created, the neutron network segment associated with the physical network, which the target host is connected to, is not guaranteed to be allocated, i.e. the segment is created only when needed. Of course, if some port from the bespoken neutron network already exists on that physical network, the segment would be existing. But that is not guaranteed. So creating the port binding should come before identifying the VLAN","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"}],"manila/share/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"4ac08460709cdb75e98a7bce3c444e70a54beb3d","unresolved":true,"context_lines":[{"line_number":5864,"context_line":"                LOG.error(msg)"},{"line_number":5865,"context_line":"                raise exception.NetAppException(message\u003de.message)"},{"line_number":5866,"context_line":"            msg \u003d (_(\u0027Failed to check migration support. Reason: \u0027"},{"line_number":5867,"context_line":"                     \u0027%s\u0027 % e.message))"},{"line_number":5868,"context_line":"            raise exception.NetAppException(msg)"},{"line_number":5869,"context_line":""},{"line_number":5870,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":1,"id":"bc309706_694b0a4e","side":"PARENT","line":5867,"updated":"2023-08-14 03:37:36.000000000","message":"LOG.error(msg) followed by NetAppException is raised in #5858,#5864 now #5868. Is it possible to consolidate into #5868.","commit_id":"73848870a5811d42fbd04f6e43efa3c78e037b82"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"8bc27a3491e799a13cbe556b9c2d100be5dc8253","unresolved":false,"context_lines":[{"line_number":5864,"context_line":"                LOG.error(msg)"},{"line_number":5865,"context_line":"                raise exception.NetAppException(message\u003de.message)"},{"line_number":5866,"context_line":"            msg \u003d (_(\u0027Failed to check migration support. Reason: \u0027"},{"line_number":5867,"context_line":"                     \u0027%s\u0027 % e.message))"},{"line_number":5868,"context_line":"            raise exception.NetAppException(msg)"},{"line_number":5869,"context_line":""},{"line_number":5870,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":1,"id":"90146ccf_2cda2759","side":"PARENT","line":5867,"in_reply_to":"bc309706_694b0a4e","updated":"2024-06-27 20:10:43.000000000","message":"Done","commit_id":"73848870a5811d42fbd04f6e43efa3c78e037b82"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"afede511a6d7060afe3bc3b951778c5c55da8af8","unresolved":true,"context_lines":[{"line_number":6150,"context_line":"            job \u003d self.get_job(job_id)"},{"line_number":6151,"context_line":"            return job"},{"line_number":6152,"context_line":"        except netapp_api.NaApiError as e:"},{"line_number":6153,"context_line":"            if e.code \u003d\u003d netapp_api.ENFS_V4_0_ENABLED_MIGRATION_FAILURE:"},{"line_number":6154,"context_line":"                msg \u003d _("},{"line_number":6155,"context_line":"                    \u0027NFS v4.0 is not supported while migrating vservers.\u0027)"},{"line_number":6156,"context_line":"            elif e.code \u003d\u003d netapp_api.EVSERVER_MIGRATION_TO_NON_AFF_CLUSTER:"},{"line_number":6157,"context_line":"                msg \u003d _(\u0027Both source and destination clusters must be AFF \u0027"},{"line_number":6158,"context_line":"                        \u0027systems.\u0027)"},{"line_number":6159,"context_line":"            else:"},{"line_number":6160,"context_line":"                msg \u003d (_(\u0027Failed to check migration support. Reason: \u0027"},{"line_number":6161,"context_line":"                         \u0027%s\u0027 % e.message))"},{"line_number":6162,"context_line":"            LOG.error(msg)"},{"line_number":6163,"context_line":"            raise exception.NetAppException(msg)"},{"line_number":6164,"context_line":""},{"line_number":6165,"context_line":"    @na_utils.trace"},{"line_number":6166,"context_line":"    def svm_migrate_complete(self, migration_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"d2542902_5dd7d95e","line":6163,"range":{"start_line":6153,"start_character":12,"end_line":6163,"end_character":48},"updated":"2024-08-17 17:55:51.000000000","message":"I think previous code looks better for me,\nIn old code, if first condition is meeting, it throw the exception from there, in this case it will not even come to second condition.\nBut now,  with this change, suppose first and second condition both are matching it will log and raise the error message for second condition.\nSo, it is better to revert this code.","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"421b0b2732d5f75739e0cd4c010f7be301298f9f","unresolved":false,"context_lines":[{"line_number":6150,"context_line":"            job \u003d self.get_job(job_id)"},{"line_number":6151,"context_line":"            return job"},{"line_number":6152,"context_line":"        except netapp_api.NaApiError as e:"},{"line_number":6153,"context_line":"            if e.code \u003d\u003d netapp_api.ENFS_V4_0_ENABLED_MIGRATION_FAILURE:"},{"line_number":6154,"context_line":"                msg \u003d _("},{"line_number":6155,"context_line":"                    \u0027NFS v4.0 is not supported while migrating vservers.\u0027)"},{"line_number":6156,"context_line":"            elif e.code \u003d\u003d netapp_api.EVSERVER_MIGRATION_TO_NON_AFF_CLUSTER:"},{"line_number":6157,"context_line":"                msg \u003d _(\u0027Both source and destination clusters must be AFF \u0027"},{"line_number":6158,"context_line":"                        \u0027systems.\u0027)"},{"line_number":6159,"context_line":"            else:"},{"line_number":6160,"context_line":"                msg \u003d (_(\u0027Failed to check migration support. Reason: \u0027"},{"line_number":6161,"context_line":"                         \u0027%s\u0027 % e.message))"},{"line_number":6162,"context_line":"            LOG.error(msg)"},{"line_number":6163,"context_line":"            raise exception.NetAppException(msg)"},{"line_number":6164,"context_line":""},{"line_number":6165,"context_line":"    @na_utils.trace"},{"line_number":6166,"context_line":"    def svm_migrate_complete(self, migration_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"94f1e4b1_2bd55d28","line":6163,"range":{"start_line":6153,"start_character":12,"end_line":6163,"end_character":48},"in_reply_to":"d2542902_5dd7d95e","updated":"2024-08-29 15:22:24.000000000","message":"yeah, reverted to old code.","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"}],"manila/share/manager.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e22bb8d2dc08fd749921bd9cbdb776685c02f888","unresolved":true,"context_lines":[{"line_number":116,"context_line":"                default\u003dFalse,"},{"line_number":117,"context_line":"                help\u003d\u0027If set to True, neutron network are extended to \u0027"},{"line_number":118,"context_line":"                     \u0027destination host during share server migration. This \u0027"},{"line_number":119,"context_line":"                     \u0027option should only be enabled when multiple bindings of \u0027"},{"line_number":120,"context_line":"                     \u0027Manila ports are supported by Neutron ML2 plugin.\u0027),"},{"line_number":121,"context_line":"    cfg.IntOpt(\u0027share_usage_size_update_interval\u0027,"},{"line_number":122,"context_line":"               default\u003d300,"}],"source_content_type":"text/x-python","patch_set":1,"id":"478c4723_5ca4fbc3","line":119,"range":{"start_line":119,"start_character":52,"end_line":119,"end_character":56},"updated":"2023-01-27 22:08:03.000000000","message":"\"if using NeutronNetworkPlugin or its derivatives and when..\"","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"8bc27a3491e799a13cbe556b9c2d100be5dc8253","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                default\u003dFalse,"},{"line_number":117,"context_line":"                help\u003d\u0027If set to True, neutron network are extended to \u0027"},{"line_number":118,"context_line":"                     \u0027destination host during share server migration. This \u0027"},{"line_number":119,"context_line":"                     \u0027option should only be enabled when multiple bindings of \u0027"},{"line_number":120,"context_line":"                     \u0027Manila ports are supported by Neutron ML2 plugin.\u0027),"},{"line_number":121,"context_line":"    cfg.IntOpt(\u0027share_usage_size_update_interval\u0027,"},{"line_number":122,"context_line":"               default\u003d300,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f8c1d16_0239e3ac","line":119,"range":{"start_line":119,"start_character":52,"end_line":119,"end_character":56},"in_reply_to":"478c4723_5ca4fbc3","updated":"2024-06-27 20:10:43.000000000","message":"Done","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e22bb8d2dc08fd749921bd9cbdb776685c02f888","unresolved":true,"context_lines":[{"line_number":5356,"context_line":"                    self.driver.network_api.extend_network_allocations("},{"line_number":5357,"context_line":"                        context, share_server, neutron_host))"},{"line_number":5358,"context_line":"                share_server[\u0027network_allocations\u0027] \u003d new_allocations"},{"line_number":5359,"context_line":"            except Exception:"},{"line_number":5360,"context_line":"                self.driver.network_api.delete_port_bindings("},{"line_number":5361,"context_line":"                    context, share_server, neutron_host)"},{"line_number":5362,"context_line":"                return result"}],"source_content_type":"text/x-python","patch_set":1,"id":"3c6faaa2_5638d800","line":5359,"range":{"start_line":5359,"start_character":28,"end_line":5359,"end_character":29},"updated":"2023-01-27 22:08:03.000000000","message":"must log the error here for triage/troubleshooting","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"8bc27a3491e799a13cbe556b9c2d100be5dc8253","unresolved":false,"context_lines":[{"line_number":5356,"context_line":"                    self.driver.network_api.extend_network_allocations("},{"line_number":5357,"context_line":"                        context, share_server, neutron_host))"},{"line_number":5358,"context_line":"                share_server[\u0027network_allocations\u0027] \u003d new_allocations"},{"line_number":5359,"context_line":"            except Exception:"},{"line_number":5360,"context_line":"                self.driver.network_api.delete_port_bindings("},{"line_number":5361,"context_line":"                    context, share_server, neutron_host)"},{"line_number":5362,"context_line":"                return result"}],"source_content_type":"text/x-python","patch_set":1,"id":"049cd109_3211920e","line":5359,"range":{"start_line":5359,"start_character":28,"end_line":5359,"end_character":29},"in_reply_to":"3c6faaa2_5638d800","updated":"2024-06-27 20:10:43.000000000","message":"Done","commit_id":"36601c0536f0237ee267e84a117dc39884635b7d"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"bd32c51a416edcb2388a09618cd1918436bb44f4","unresolved":true,"context_lines":[{"line_number":5681,"context_line":"        extended_allocs \u003d None"},{"line_number":5682,"context_line":"        dest_share_server \u003d None"},{"line_number":5683,"context_line":"        try:"},{"line_number":5684,"context_line":"            # NOTE(sapcc): Extend network allocations to destination host, i.e."},{"line_number":5685,"context_line":"            # create inactive port bindings on the destination host. Refresh"},{"line_number":5686,"context_line":"            # network_allocations field in source_share_server with the new"},{"line_number":5687,"context_line":"            # bindings, so that correct segmentation id is used during"}],"source_content_type":"text/x-python","patch_set":5,"id":"8c1aabff_b60ca5b5","line":5684,"range":{"start_line":5684,"start_character":14,"end_line":5684,"end_character":26},"updated":"2024-08-14 08:57:34.000000000","message":"You could remove the use of `sapcc`. I suggest to either change to your nick or remove completely.\nThere are more occurrences below.","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"421b0b2732d5f75739e0cd4c010f7be301298f9f","unresolved":false,"context_lines":[{"line_number":5681,"context_line":"        extended_allocs \u003d None"},{"line_number":5682,"context_line":"        dest_share_server \u003d None"},{"line_number":5683,"context_line":"        try:"},{"line_number":5684,"context_line":"            # NOTE(sapcc): Extend network allocations to destination host, i.e."},{"line_number":5685,"context_line":"            # create inactive port bindings on the destination host. Refresh"},{"line_number":5686,"context_line":"            # network_allocations field in source_share_server with the new"},{"line_number":5687,"context_line":"            # bindings, so that correct segmentation id is used during"}],"source_content_type":"text/x-python","patch_set":5,"id":"e154d9bf_eca05187","line":5684,"range":{"start_line":5684,"start_character":14,"end_line":5684,"end_character":26},"in_reply_to":"8c1aabff_b60ca5b5","updated":"2024-08-29 15:22:24.000000000","message":"done","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"afede511a6d7060afe3bc3b951778c5c55da8af8","unresolved":true,"context_lines":[{"line_number":5772,"context_line":"            backend_details \u003d ("},{"line_number":5773,"context_line":"                server_info.get(\u0027backend_details\u0027) if server_info else None)"},{"line_number":5774,"context_line":"            if extended_allocs:"},{"line_number":5775,"context_line":"                backend_details \u003d backend_details or {}"},{"line_number":5776,"context_line":"                backend_details[\u0027segmentation_id\u0027] \u003d ("},{"line_number":5777,"context_line":"                    extended_allocs[0][\u0027segmentation_id\u0027])"},{"line_number":5778,"context_line":"            if backend_details:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a439e06_d57f5894","line":5775,"range":{"start_line":5775,"start_character":15,"end_line":5775,"end_character":55},"updated":"2024-08-17 17:55:51.000000000","message":"why this is require, you are assigning same variable","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":33038,"name":"Chuan Miao","email":"chuan137@gmail.com","username":"chuan137"},"change_message_id":"72738b3b3200dc50b43382663a2d60aa900a5f78","unresolved":true,"context_lines":[{"line_number":5772,"context_line":"            backend_details \u003d ("},{"line_number":5773,"context_line":"                server_info.get(\u0027backend_details\u0027) if server_info else None)"},{"line_number":5774,"context_line":"            if extended_allocs:"},{"line_number":5775,"context_line":"                backend_details \u003d backend_details or {}"},{"line_number":5776,"context_line":"                backend_details[\u0027segmentation_id\u0027] \u003d ("},{"line_number":5777,"context_line":"                    extended_allocs[0][\u0027segmentation_id\u0027])"},{"line_number":5778,"context_line":"            if backend_details:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5cdaf737_25c4ffec","line":5775,"range":{"start_line":5775,"start_character":15,"end_line":5775,"end_character":55},"in_reply_to":"1a439e06_d57f5894","updated":"2024-08-29 15:04:27.000000000","message":"This will set backend_details to `{}` if it is None, so that the next line will work regardless of backend_details is empty or not.","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1a206f334f061267cb691a4fd0294a02eb35d0e2","unresolved":false,"context_lines":[{"line_number":5772,"context_line":"            backend_details \u003d ("},{"line_number":5773,"context_line":"                server_info.get(\u0027backend_details\u0027) if server_info else None)"},{"line_number":5774,"context_line":"            if extended_allocs:"},{"line_number":5775,"context_line":"                backend_details \u003d backend_details or {}"},{"line_number":5776,"context_line":"                backend_details[\u0027segmentation_id\u0027] \u003d ("},{"line_number":5777,"context_line":"                    extended_allocs[0][\u0027segmentation_id\u0027])"},{"line_number":5778,"context_line":"            if backend_details:"}],"source_content_type":"text/x-python","patch_set":5,"id":"e6a26778_b762771e","line":5775,"range":{"start_line":5775,"start_character":15,"end_line":5775,"end_character":55},"in_reply_to":"5cdaf737_25c4ffec","updated":"2024-09-10 08:46:39.000000000","message":"agree","commit_id":"316b328487ebce42dcb2c7c996db93ef5cbbad28"}],"releasenotes/notes/server-migration-with-network-extension-7433a5c38c8278e4.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2277d22bf188371310c21c336f901f543e6d568e","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for share server migrations between different physical networks."},{"line_number":5,"context_line":"    It is achieved by creating an inactive port binding on the target host"},{"line_number":6,"context_line":"    during share server migration, then cut it over to target host during"},{"line_number":7,"context_line":"    migration-complete step."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"52d891d6_4524b337","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":7},"updated":"2024-09-04 05:50:37.000000000","message":"Added","commit_id":"6662231c7f180bc04423a8f6075249953232d7a6"}]}
