)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9923dfa22bbd0dce3840e1839a323a3e877865c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ff5fd45e_99ae944c","updated":"2026-10-02 14:08:18.000000000","message":"recheck neutron-functional","commit_id":"5b57f82d1475504d3a9a19cd3edfc6dadc7daa62"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"68d22faf9d49a8fdbfb1f77717f4169c32789b72","unresolved":true,"context_lines":[{"line_number":1855,"context_line":"        port is provided, or from the first flat/VLAN segment"},{"line_number":1856,"context_line":"        otherwise."},{"line_number":1857,"context_line":"        \"\"\""},{"line_number":1858,"context_line":"        if network.get(pnet.NETWORK_TYPE) in [const.TYPE_FLAT,"},{"line_number":1859,"context_line":"                                              const.TYPE_VLAN]:"},{"line_number":1860,"context_line":"            return network.get(pnet.PHYSICAL_NETWORK)"},{"line_number":1861,"context_line":""},{"line_number":1862,"context_line":"        # For multi-segment networks, the top-level provider attributes"},{"line_number":1863,"context_line":"        # are not set. Query the DB segments for this network."},{"line_number":1864,"context_line":"        segments \u003d segments_db.get_network_segments(context, network[\u0027id\u0027])"},{"line_number":1865,"context_line":"        physnet_segs \u003d {"},{"line_number":1866,"context_line":"            s[\u0027id\u0027]: s[segments_db.PHYSICAL_NETWORK]"},{"line_number":1867,"context_line":"            for s in segments"},{"line_number":1868,"context_line":"            if s[segments_db.NETWORK_TYPE] in [const.TYPE_FLAT,"},{"line_number":1869,"context_line":"                                               const.TYPE_VLAN]"},{"line_number":1870,"context_line":"        }"},{"line_number":1871,"context_line":"        if not physnet_segs:"},{"line_number":1872,"context_line":"            return None"},{"line_number":1873,"context_line":""},{"line_number":1874,"context_line":"        # If a port is provided, find the physnet for the port\u0027s"},{"line_number":1875,"context_line":"        # subnet segment."}],"source_content_type":"text/x-python","patch_set":1,"id":"9df10da5_bae920e3","line":1872,"range":{"start_line":1858,"start_character":0,"end_line":1872,"end_character":23},"updated":"2026-09-30 14:33:03.000000000","message":"This is valid but inefficient for tunneled networks: they will be always forced to retrieve the segments (that will be zero). But that implies a useless DB access.","commit_id":"f4f302cd0a639a5ce8688f344e46ad9dd8e2c0ec"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"df03c103419af10ec56e60aac6b174de0a6eff75","unresolved":false,"context_lines":[{"line_number":1855,"context_line":"        port is provided, or from the first flat/VLAN segment"},{"line_number":1856,"context_line":"        otherwise."},{"line_number":1857,"context_line":"        \"\"\""},{"line_number":1858,"context_line":"        if network.get(pnet.NETWORK_TYPE) in [const.TYPE_FLAT,"},{"line_number":1859,"context_line":"                                              const.TYPE_VLAN]:"},{"line_number":1860,"context_line":"            return network.get(pnet.PHYSICAL_NETWORK)"},{"line_number":1861,"context_line":""},{"line_number":1862,"context_line":"        # For multi-segment networks, the top-level provider attributes"},{"line_number":1863,"context_line":"        # are not set. Query the DB segments for this network."},{"line_number":1864,"context_line":"        segments \u003d segments_db.get_network_segments(context, network[\u0027id\u0027])"},{"line_number":1865,"context_line":"        physnet_segs \u003d {"},{"line_number":1866,"context_line":"            s[\u0027id\u0027]: s[segments_db.PHYSICAL_NETWORK]"},{"line_number":1867,"context_line":"            for s in segments"},{"line_number":1868,"context_line":"            if s[segments_db.NETWORK_TYPE] in [const.TYPE_FLAT,"},{"line_number":1869,"context_line":"                                               const.TYPE_VLAN]"},{"line_number":1870,"context_line":"        }"},{"line_number":1871,"context_line":"        if not physnet_segs:"},{"line_number":1872,"context_line":"            return None"},{"line_number":1873,"context_line":""},{"line_number":1874,"context_line":"        # If a port is provided, find the physnet for the port\u0027s"},{"line_number":1875,"context_line":"        # subnet segment."}],"source_content_type":"text/x-python","patch_set":1,"id":"51f1d0ac_1ac5b446","line":1872,"range":{"start_line":1858,"start_character":0,"end_line":1872,"end_character":23},"in_reply_to":"9df10da5_bae920e3","updated":"2026-10-02 09:22:24.000000000","message":"Done","commit_id":"f4f302cd0a639a5ce8688f344e46ad9dd8e2c0ec"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"4ef9f862ea1a9f0e24e07cfb1a94cbd9f8c03c18","unresolved":true,"context_lines":[{"line_number":1872,"context_line":"        # If a port is provided, find the physnet for the port\u0027s"},{"line_number":1873,"context_line":"        # subnet segment."},{"line_number":1874,"context_line":"        if port:"},{"line_number":1875,"context_line":"            subnet_ids \u003d [fip[\u0027subnet_id\u0027]"},{"line_number":1876,"context_line":"                          for fip in port.get(\u0027fixed_ips\u0027, [])]"},{"line_number":1877,"context_line":"            if subnet_ids:"},{"line_number":1878,"context_line":"                for subnet in self._plugin.get_subnets("}],"source_content_type":"text/x-python","patch_set":2,"id":"90a3a955_36f2c833","line":1875,"range":{"start_line":1875,"start_character":26,"end_line":1875,"end_character":29},"updated":"2026-10-03 14:33:26.000000000","message":"nit: in a lot of places in the code base, we refer to a floating ip as fip. Could this be fxips? Consider this suggestion only if you have to re-spin","commit_id":"5b57f82d1475504d3a9a19cd3edfc6dadc7daa62"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5b4a52de7022d39341b9863ca0fe899534d32441","unresolved":true,"context_lines":[{"line_number":1872,"context_line":"        # If a port is provided, find the physnet for the port\u0027s"},{"line_number":1873,"context_line":"        # subnet segment."},{"line_number":1874,"context_line":"        if port:"},{"line_number":1875,"context_line":"            subnet_ids \u003d [fip[\u0027subnet_id\u0027]"},{"line_number":1876,"context_line":"                          for fip in port.get(\u0027fixed_ips\u0027, [])]"},{"line_number":1877,"context_line":"            if subnet_ids:"},{"line_number":1878,"context_line":"                for subnet in self._plugin.get_subnets("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a41d2f3_e2fd88ef","line":1875,"range":{"start_line":1875,"start_character":26,"end_line":1875,"end_character":29},"in_reply_to":"90a3a955_36f2c833","updated":"2026-10-05 07:09:26.000000000","message":"+1","commit_id":"5b57f82d1475504d3a9a19cd3edfc6dadc7daa62"}],"neutron/services/ovn_l3/plugin.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e160c5a2b14b593cb022f65c053f5c22c62b418b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"from neutron.db import dns_db"},{"line_number":49,"context_line":"from neutron.db import extraroute_db"},{"line_number":50,"context_line":"from neutron.db import segments_db"},{"line_number":51,"context_line":"from neutron.db import l3_db"},{"line_number":52,"context_line":"from neutron.db import l3_extra_gws_db"},{"line_number":53,"context_line":"from neutron.db import l3_fip_pools_db"},{"line_number":54,"context_line":"from neutron.db import l3_fip_port_details"}],"source_content_type":"text/x-python","patch_set":1,"id":"5310120b_dccf2cdd","line":51,"updated":"2026-09-29 16:37:18.000000000","message":"pep8: H306: imports not in alphabetical order (neutron.db.segments_db, neutron.db.l3_db)","commit_id":"f4f302cd0a639a5ce8688f344e46ad9dd8e2c0ec"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e4fcf23adf1f3269d10d6e3ece18d850197a476","unresolved":false,"context_lines":[{"line_number":48,"context_line":"from neutron.db import dns_db"},{"line_number":49,"context_line":"from neutron.db import extraroute_db"},{"line_number":50,"context_line":"from neutron.db import segments_db"},{"line_number":51,"context_line":"from neutron.db import l3_db"},{"line_number":52,"context_line":"from neutron.db import l3_extra_gws_db"},{"line_number":53,"context_line":"from neutron.db import l3_fip_pools_db"},{"line_number":54,"context_line":"from neutron.db import l3_fip_port_details"}],"source_content_type":"text/x-python","patch_set":1,"id":"55d38caa_48374194","line":51,"updated":"2026-10-01 22:07:51.000000000","message":"pep8: H306: imports not in alphabetical order (neutron.db.segments_db, neutron.db.l3_db)","commit_id":"f4f302cd0a639a5ce8688f344e46ad9dd8e2c0ec"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"68d22faf9d49a8fdbfb1f77717f4169c32789b72","unresolved":true,"context_lines":[{"line_number":274,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":275,"context_line":"        for net in l3plugin._plugin.get_networks("},{"line_number":276,"context_line":"                context, {external_net.EXTERNAL: [True]}):"},{"line_number":277,"context_line":"            if net.get(pnet.NETWORK_TYPE) in [n_const.TYPE_FLAT,"},{"line_number":278,"context_line":"                                              n_const.TYPE_VLAN]:"},{"line_number":279,"context_line":"                net_physnet_dict[net[\u0027id\u0027]] \u003d net.get("},{"line_number":280,"context_line":"                    pnet.PHYSICAL_NETWORK)"},{"line_number":281,"context_line":"            else:"},{"line_number":282,"context_line":"                # For multi-segment networks, the top-level provider"},{"line_number":283,"context_line":"                # attributes are not set. Query the DB segments to"},{"line_number":284,"context_line":"                # build a segment_id -\u003e physnet mapping."}],"source_content_type":"text/x-python","patch_set":1,"id":"29390609_54bf2ea1","line":281,"range":{"start_line":277,"start_character":12,"end_line":281,"end_character":17},"updated":"2026-09-30 14:33:03.000000000","message":"Same comment here: tunneled network will have network_type as a top level attribute, the second if/else branch is unnecessary.","commit_id":"f4f302cd0a639a5ce8688f344e46ad9dd8e2c0ec"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"df03c103419af10ec56e60aac6b174de0a6eff75","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":275,"context_line":"        for net in l3plugin._plugin.get_networks("},{"line_number":276,"context_line":"                context, {external_net.EXTERNAL: [True]}):"},{"line_number":277,"context_line":"            if net.get(pnet.NETWORK_TYPE) in [n_const.TYPE_FLAT,"},{"line_number":278,"context_line":"                                              n_const.TYPE_VLAN]:"},{"line_number":279,"context_line":"                net_physnet_dict[net[\u0027id\u0027]] \u003d net.get("},{"line_number":280,"context_line":"                    pnet.PHYSICAL_NETWORK)"},{"line_number":281,"context_line":"            else:"},{"line_number":282,"context_line":"                # For multi-segment networks, the top-level provider"},{"line_number":283,"context_line":"                # attributes are not set. Query the DB segments to"},{"line_number":284,"context_line":"                # build a segment_id -\u003e physnet mapping."}],"source_content_type":"text/x-python","patch_set":1,"id":"664c3385_efeac2fa","line":281,"range":{"start_line":277,"start_character":12,"end_line":281,"end_character":17},"in_reply_to":"29390609_54bf2ea1","updated":"2026-10-02 09:22:24.000000000","message":"Done","commit_id":"f4f302cd0a639a5ce8688f344e46ad9dd8e2c0ec"}]}
