)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0c24e5168f5cdbfbe1b72ca8f38ac16af2633c71","unresolved":true,"context_lines":[{"line_number":27,"context_line":"extra_subnets key on only the ports which need this information. The"},{"line_number":28,"context_line":"agent code does not read this key for ports unless the device owner is"},{"line_number":29,"context_line":"network:floatingip_agent_gateway or network:router_gateway."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Change-Id: If90762fc22583502d03b7d58f87656b9cd8b8403"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"40d47777_a0c49161","line":30,"updated":"2024-02-08 09:21:28.000000000","message":"Thanks for proposing this performance improvement.\nDo you have a bug report for this scaling issue?","commit_id":"0ad482abe768edaccdfd19176bfb904709f1a521"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2a6f5431fc15d5dc79e203725b4854fd6f4a45af","unresolved":true,"context_lines":[{"line_number":27,"context_line":"extra_subnets key on only the ports which need this information. The"},{"line_number":28,"context_line":"agent code does not read this key for ports unless the device owner is"},{"line_number":29,"context_line":"network:floatingip_agent_gateway or network:router_gateway."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Change-Id: If90762fc22583502d03b7d58f87656b9cd8b8403"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"49eaff28_974f31b2","line":30,"in_reply_to":"40d47777_a0c49161","updated":"2024-02-16 06:53:16.000000000","message":"That\u0027s the point: I don\u0027t see any improvement in this code (apart from the nested iteration). But this iteration doesn\u0027t make any DB call or external request. Unless you have thousands of subnets (and usually you have 1 or 2), what are the numbers of the improvement? Do you have any benchmark?","commit_id":"0ad482abe768edaccdfd19176bfb904709f1a521"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bef1cfe20d85cedc96b30b2bdcf99e00c4192fd6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1d95f848_b244230f","updated":"2023-08-08 08:26:58.000000000","message":"please check carefully CI results as they seems like can be related to that change","commit_id":"f85531b421da27d2c5fcdad897e199722c132416"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"1f6f6e06b38de6fc9b976baee7225bf4ee9ba7b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5531775e_698a1743","updated":"2023-08-18 09:20:20.000000000","message":"recheck\nhttps://review.opendev.org/c/openstack/neutron-tempest-plugin/+/891550 fixed some issue, let\u0027s have a clean result","commit_id":"f85531b421da27d2c5fcdad897e199722c132416"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"c0c09077644e6c41ce52205e0ba4dc8641cae664","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"99172cde_8e14afd1","in_reply_to":"1d95f848_b244230f","updated":"2023-08-11 22:42:30.000000000","message":"It definitely looks like the CI issues relate to the change. I am still working on it but haven\u0027t been able to replicate the problem in my test environment just yet. I\u0027ll revisit this next week and post another update then.","commit_id":"f85531b421da27d2c5fcdad897e199722c132416"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"0eece88d2867a8aac0d7b197e0a6a7705d723e61","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8e130d0c_f1c989a3","in_reply_to":"99172cde_8e14afd1","updated":"2023-08-18 13:27:01.000000000","message":"Resolved by patch set 3","commit_id":"f85531b421da27d2c5fcdad897e199722c132416"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"a0f7a20637c79d9f1beec7921b0d767fad3ad473","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6b7374a8_84621ee7","updated":"2023-09-18 12:15:13.000000000","message":"If anyone has some time, would it be possible to get another review on this? Thanks.","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"0eece88d2867a8aac0d7b197e0a6a7705d723e61","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d495310b_2c13a8da","updated":"2023-08-18 13:27:01.000000000","message":"recheck neutron-ovs-rally-task \u0026 neutron-ovn-rally-task (possibly an issue with CI as this is erroring on other changes)\n\nthe neutron.tests.functional.plugins.ml2.drivers.ovn.mech_driver.test_mech_driver.TestExternalPorts.test_add_external_port_avoid_flapping test from neutron-functional-with-uwsgi also failed but seems unrelated to the change as well (test refers to ovn)","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"8a7e544518d9f20174e8e312b9a9c003945f3492","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0a2097c4_378d7b60","updated":"2023-08-21 07:32:45.000000000","message":"recheck rally issues","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0c24e5168f5cdbfbe1b72ca8f38ac16af2633c71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"552edf91_abb4a062","updated":"2024-02-08 09:21:28.000000000","message":"Generally I am ok with this improvement","commit_id":"0ad482abe768edaccdfd19176bfb904709f1a521"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"27cd6b09b9bca15e11d0938584d17d0fdf133b4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"cc98c066_88caae59","updated":"2024-01-10 17:33:55.000000000","message":"So was there a bug filed for this?","commit_id":"0ad482abe768edaccdfd19176bfb904709f1a521"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"cbc3017cd25f275f5154805408169eb5db9cbfc9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5416d4f8_09644458","updated":"2024-01-03 12:33:33.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full unrelated unshelve error","commit_id":"0ad482abe768edaccdfd19176bfb904709f1a521"}],"neutron/db/l3_db.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"05f9051a125bb8fe57cacc2d6935bb8c8b717ebc","unresolved":true,"context_lines":[{"line_number":1997,"context_line":"        address_scopes \u003d {}"},{"line_number":1998,"context_line":"        for network, subnets in subnets_by_network.items():"},{"line_number":1999,"context_line":"            address_scopes[network] \u003d {constants.IP_VERSION_4: None,"},{"line_number":2000,"context_line":"                                      constants.IP_VERSION_6: None}"},{"line_number":2001,"context_line":"            subnet_info[network] \u003d {}"},{"line_number":2002,"context_line":"            for subnet in subnets:"},{"line_number":2003,"context_line":"                scope \u003d subnet[\u0027address_scope_id\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"782f3318_62cc18d2","line":2000,"updated":"2023-12-12 22:07:38.000000000","message":"indentation looks wrong","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"7db437aa1879ee5bf7ccb9e93f0181aeb7a9c4b4","unresolved":false,"context_lines":[{"line_number":1997,"context_line":"        address_scopes \u003d {}"},{"line_number":1998,"context_line":"        for network, subnets in subnets_by_network.items():"},{"line_number":1999,"context_line":"            address_scopes[network] \u003d {constants.IP_VERSION_4: None,"},{"line_number":2000,"context_line":"                                      constants.IP_VERSION_6: None}"},{"line_number":2001,"context_line":"            subnet_info[network] \u003d {}"},{"line_number":2002,"context_line":"            for subnet in subnets:"},{"line_number":2003,"context_line":"                scope \u003d subnet[\u0027address_scope_id\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"2d634e8f_03afa699","line":2000,"in_reply_to":"782f3318_62cc18d2","updated":"2024-01-03 10:10:59.000000000","message":"Fixed","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"05f9051a125bb8fe57cacc2d6935bb8c8b717ebc","unresolved":true,"context_lines":[{"line_number":2017,"context_line":"        for port in self._each_port_having_fixed_ips(ports):"},{"line_number":2018,"context_line":"            is_gw \u003d port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_ROUTER_GW"},{"line_number":2019,"context_line":"            is_agent_gw \u003d port[\u0027device_owner\u0027] \\"},{"line_number":2020,"context_line":"                \u003d\u003d constants.DEVICE_OWNER_AGENT_GW"},{"line_number":2021,"context_line":""},{"line_number":2022,"context_line":"            port[\u0027subnets\u0027] \u003d []"},{"line_number":2023,"context_line":"            port[\u0027address_scopes\u0027] \u003d address_scopes[port[\u0027network_id\u0027]]"}],"source_content_type":"text/x-python","patch_set":3,"id":"2b4cf474_b0e137d8","line":2020,"updated":"2023-12-12 22:07:38.000000000","message":"nit: try not to use backslashes, can be:\n\nis_agent_gw \u003d (port[\u0027device_owner\u0027] \u003d\u003d\n               constants.DEVICE_OWNER_AGENT_GW)","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"7db437aa1879ee5bf7ccb9e93f0181aeb7a9c4b4","unresolved":false,"context_lines":[{"line_number":2017,"context_line":"        for port in self._each_port_having_fixed_ips(ports):"},{"line_number":2018,"context_line":"            is_gw \u003d port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_ROUTER_GW"},{"line_number":2019,"context_line":"            is_agent_gw \u003d port[\u0027device_owner\u0027] \\"},{"line_number":2020,"context_line":"                \u003d\u003d constants.DEVICE_OWNER_AGENT_GW"},{"line_number":2021,"context_line":""},{"line_number":2022,"context_line":"            port[\u0027subnets\u0027] \u003d []"},{"line_number":2023,"context_line":"            port[\u0027address_scopes\u0027] \u003d address_scopes[port[\u0027network_id\u0027]]"}],"source_content_type":"text/x-python","patch_set":3,"id":"b48782b9_7527a196","line":2020,"in_reply_to":"2b4cf474_b0e137d8","updated":"2024-01-03 10:10:59.000000000","message":"Fixed","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"05f9051a125bb8fe57cacc2d6935bb8c8b717ebc","unresolved":true,"context_lines":[{"line_number":2019,"context_line":"            is_agent_gw \u003d port[\u0027device_owner\u0027] \\"},{"line_number":2020,"context_line":"                \u003d\u003d constants.DEVICE_OWNER_AGENT_GW"},{"line_number":2021,"context_line":""},{"line_number":2022,"context_line":"            port[\u0027subnets\u0027] \u003d []"},{"line_number":2023,"context_line":"            port[\u0027address_scopes\u0027] \u003d address_scopes[port[\u0027network_id\u0027]]"},{"line_number":2024,"context_line":"            port[\u0027mtu\u0027] \u003d mtus_by_network.get(port[\u0027network_id\u0027], 0)"},{"line_number":2025,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"e06ed691_0db6a9c0","line":2022,"updated":"2023-12-12 22:07:38.000000000","message":"Why did the extra_subnets init have to move from here?","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"7db437aa1879ee5bf7ccb9e93f0181aeb7a9c4b4","unresolved":false,"context_lines":[{"line_number":2019,"context_line":"            is_agent_gw \u003d port[\u0027device_owner\u0027] \\"},{"line_number":2020,"context_line":"                \u003d\u003d constants.DEVICE_OWNER_AGENT_GW"},{"line_number":2021,"context_line":""},{"line_number":2022,"context_line":"            port[\u0027subnets\u0027] \u003d []"},{"line_number":2023,"context_line":"            port[\u0027address_scopes\u0027] \u003d address_scopes[port[\u0027network_id\u0027]]"},{"line_number":2024,"context_line":"            port[\u0027mtu\u0027] \u003d mtus_by_network.get(port[\u0027network_id\u0027], 0)"},{"line_number":2025,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f131b69_10876166","line":2022,"in_reply_to":"e06ed691_0db6a9c0","updated":"2024-01-03 10:10:59.000000000","message":"It didn\u0027t have to be moved. It just seemed clearer to only create this key on ports that needed it (determined by the if is_gw or is_agent_gw statement) rather setting it on all ports and leaving it empty in most cases.\n\nIt also means that the sync_routers response is slightly smaller if we only set this key where needed although the difference is probably insignificant. If preferred, we can move it back.","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"05f9051a125bb8fe57cacc2d6935bb8c8b717ebc","unresolved":true,"context_lines":[{"line_number":2027,"context_line":"            if is_gw and seg_plugin_loaded:"},{"line_number":2028,"context_line":"                subnet \u003d subnet_info.get(port[\u0027network_id\u0027]).get("},{"line_number":2029,"context_line":"                    port[\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027])"},{"line_number":2030,"context_line":"                if subnet is not None:"},{"line_number":2031,"context_line":"                    gw_port_segment \u003d subnet[\u0027segment_id\u0027]"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"            for fixed_ip in port[\u0027fixed_ips\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"18b975bb_5051c673","line":2030,"range":{"start_line":2030,"start_character":16,"end_line":2030,"end_character":37},"updated":"2023-12-12 22:07:38.000000000","message":"nit: if subnet:\n\nsame below","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"7db437aa1879ee5bf7ccb9e93f0181aeb7a9c4b4","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"            if is_gw and seg_plugin_loaded:"},{"line_number":2028,"context_line":"                subnet \u003d subnet_info.get(port[\u0027network_id\u0027]).get("},{"line_number":2029,"context_line":"                    port[\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027])"},{"line_number":2030,"context_line":"                if subnet is not None:"},{"line_number":2031,"context_line":"                    gw_port_segment \u003d subnet[\u0027segment_id\u0027]"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"            for fixed_ip in port[\u0027fixed_ips\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"95a416ee_da0f505a","line":2030,"range":{"start_line":2030,"start_character":16,"end_line":2030,"end_character":37},"in_reply_to":"18b975bb_5051c673","updated":"2024-01-03 10:10:59.000000000","message":"Fixed","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"99e2d4b1b94a8a91b466d9291fd6e6de7deb38ef","unresolved":true,"context_lines":[{"line_number":2042,"context_line":"            # connectivity only to the subnets in the same segment."},{"line_number":2043,"context_line":"            # The router will add only the onlink routes to those"},{"line_number":2044,"context_line":"            # subnet CIDRs."},{"line_number":2045,"context_line":"            if is_gw or is_agent_gw:"},{"line_number":2046,"context_line":"                port[\u0027extra_subnets\u0027] \u003d []"},{"line_number":2047,"context_line":"                for subnet in subnet_info[port[\u0027network_id\u0027]].values():"},{"line_number":2048,"context_line":"                    if subnet[\u0027id\u0027] in [s[\u0027id\u0027] for s in port[\u0027subnets\u0027]]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"0089b02d_646d586b","line":2045,"range":{"start_line":2045,"start_character":21,"end_line":2045,"end_character":36},"updated":"2023-09-26 07:51:09.000000000","message":"I don\u0027t understand this new condition. Why is needed? The \"is_gw\" flag should be enough.","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"331b5fe17b4328c16df7fe01304814bc6ec34956","unresolved":false,"context_lines":[{"line_number":2042,"context_line":"            # connectivity only to the subnets in the same segment."},{"line_number":2043,"context_line":"            # The router will add only the onlink routes to those"},{"line_number":2044,"context_line":"            # subnet CIDRs."},{"line_number":2045,"context_line":"            if is_gw or is_agent_gw:"},{"line_number":2046,"context_line":"                port[\u0027extra_subnets\u0027] \u003d []"},{"line_number":2047,"context_line":"                for subnet in subnet_info[port[\u0027network_id\u0027]].values():"},{"line_number":2048,"context_line":"                    if subnet[\u0027id\u0027] in [s[\u0027id\u0027] for s in port[\u0027subnets\u0027]]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"b2884e8b_ab91a781","line":2045,"range":{"start_line":2045,"start_character":21,"end_line":2045,"end_character":36},"in_reply_to":"0089b02d_646d586b","updated":"2023-09-27 13:33:29.000000000","message":"Previously we set extra_subnets on every port but this is only appears to be needed on network:router_gateway and network:floatingip_agent_gateway (when using DVR).\n\nI\u0027m assuming this is needed for network:floatingip_agent_gateway based on the following code which references it.\n\n- The network:floatingip_agent_gateway ports are found here https://github.com/openstack/neutron/blob/master/neutron/agent/l3/dvr_local_router.py#L835-L836\n- One of these ports are then passed into https://github.com/openstack/neutron/blob/61ac046cf7ed81a7502ddfdfb6fa785f4184554f/neutron/agent/l3/dvr_local_router.py#L842C9-L842C50\n- This is then passed into https://github.com/openstack/neutron/blob/61ac046cf7ed81a7502ddfdfb6fa785f4184554f/neutron/agent/l3/dvr_fip_ns.py#L149\n- Finally the extra_subnets are then referenced on https://github.com/openstack/neutron/blob/61ac046cf7ed81a7502ddfdfb6fa785f4184554f/neutron/agent/l3/dvr_fip_ns.py#L196-L198","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"c65df4f88f05a055707aec5030658fbf454e9c80","unresolved":false,"context_lines":[{"line_number":2042,"context_line":"            # connectivity only to the subnets in the same segment."},{"line_number":2043,"context_line":"            # The router will add only the onlink routes to those"},{"line_number":2044,"context_line":"            # subnet CIDRs."},{"line_number":2045,"context_line":"            if is_gw or is_agent_gw:"},{"line_number":2046,"context_line":"                port[\u0027extra_subnets\u0027] \u003d []"},{"line_number":2047,"context_line":"                for subnet in subnet_info[port[\u0027network_id\u0027]].values():"},{"line_number":2048,"context_line":"                    if subnet[\u0027id\u0027] in [s[\u0027id\u0027] for s in port[\u0027subnets\u0027]]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"964b3062_013b4f18","line":2045,"range":{"start_line":2045,"start_character":21,"end_line":2045,"end_character":36},"in_reply_to":"b2884e8b_ab91a781","updated":"2023-10-30 09:56:37.000000000","message":"Hi Rodolfo. Is there any other information I can provide to help explain my logic here? Would really appreciate another review on this if possible following the above comment.","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"05f9051a125bb8fe57cacc2d6935bb8c8b717ebc","unresolved":true,"context_lines":[{"line_number":2045,"context_line":"            if is_gw or is_agent_gw:"},{"line_number":2046,"context_line":"                port[\u0027extra_subnets\u0027] \u003d []"},{"line_number":2047,"context_line":"                for subnet in subnet_info[port[\u0027network_id\u0027]].values():"},{"line_number":2048,"context_line":"                    if subnet[\u0027id\u0027] in [s[\u0027id\u0027] for s in port[\u0027subnets\u0027]]:"},{"line_number":2049,"context_line":"                        continue"},{"line_number":2050,"context_line":"                    if is_gw and seg_plugin_loaded:"},{"line_number":2051,"context_line":"                        if subnet[\u0027segment_id\u0027] \u003d\u003d gw_port_segment:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1cf2f221_ed5a32de","line":2048,"range":{"start_line":2048,"start_character":39,"end_line":2048,"end_character":73},"updated":"2023-12-12 22:07:38.000000000","message":"nit: i guess you could do this before the loop and save it","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":35825,"name":"Adam Oswick","email":"adam@adamoswick.co.uk","username":"adamoswick","status":"GoDaddy"},"change_message_id":"7db437aa1879ee5bf7ccb9e93f0181aeb7a9c4b4","unresolved":false,"context_lines":[{"line_number":2045,"context_line":"            if is_gw or is_agent_gw:"},{"line_number":2046,"context_line":"                port[\u0027extra_subnets\u0027] \u003d []"},{"line_number":2047,"context_line":"                for subnet in subnet_info[port[\u0027network_id\u0027]].values():"},{"line_number":2048,"context_line":"                    if subnet[\u0027id\u0027] in [s[\u0027id\u0027] for s in port[\u0027subnets\u0027]]:"},{"line_number":2049,"context_line":"                        continue"},{"line_number":2050,"context_line":"                    if is_gw and seg_plugin_loaded:"},{"line_number":2051,"context_line":"                        if subnet[\u0027segment_id\u0027] \u003d\u003d gw_port_segment:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9d7e02cc_9ce298ef","line":2048,"range":{"start_line":2048,"start_character":39,"end_line":2048,"end_character":73},"in_reply_to":"1cf2f221_ed5a32de","updated":"2024-01-03 10:10:59.000000000","message":"Fixed","commit_id":"a2fd815463cc5ca264b84fcef690f6b4ee98bd12"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0c24e5168f5cdbfbe1b72ca8f38ac16af2633c71","unresolved":true,"context_lines":[{"line_number":1993,"context_line":"        subnets_by_network \u003d self._get_subnets_by_network_list("},{"line_number":1994,"context_line":"            context, network_ids)"},{"line_number":1995,"context_line":""},{"line_number":1996,"context_line":"        subnet_info \u003d {}"},{"line_number":1997,"context_line":"        address_scopes \u003d {}"},{"line_number":1998,"context_line":"        for network, subnets in subnets_by_network.items():"},{"line_number":1999,"context_line":"            address_scopes[network] \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ed48456_091d3971","line":1996,"range":{"start_line":1996,"start_character":22,"end_line":1996,"end_character":24},"updated":"2024-02-08 09:21:28.000000000","message":"perhaps defaultdict can also be used","commit_id":"0ad482abe768edaccdfd19176bfb904709f1a521"}]}
