)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"643181ec53e898dbaf1739028385f0e4dbfea49b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b820e379_658fc8e2","updated":"2026-09-28 09:34:23.000000000","message":"Code looks ok, minor nits","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6a8e7d6a2038697f61243148044834ed66bfe759","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"cc84d8a0_656666d3","in_reply_to":"b820e379_658fc8e2","updated":"2026-09-28 09:34:53.000000000","message":"I\u0027ve tested it manually and works fine.","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"}],"neutron/services/ovn_l3/plugin.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"643181ec53e898dbaf1739028385f0e4dbfea49b","unresolved":true,"context_lines":[{"line_number":266,"context_line":"            return"},{"line_number":267,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":268,"context_line":"        filters \u003d {\u0027id\u0027: [port_id],"},{"line_number":269,"context_line":"                   \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]}"},{"line_number":270,"context_line":"        for port in self._plugin.get_ports(context, filters\u003dfilters):"},{"line_number":271,"context_line":"            # Keep the last Neutron and NB host until this gateway is rebound."},{"line_number":272,"context_line":"            if port[\u0027status\u0027] !\u003d n_const.PORT_STATUS_DOWN:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5473a620_e44fce4c","line":269,"range":{"start_line":269,"start_character":19,"end_line":269,"end_character":67},"updated":"2026-09-28 09:34:23.000000000","message":"This is not needed if you have the port ID","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"5a6782ef8547649c2422bb81394e984d9a381d4a","unresolved":false,"context_lines":[{"line_number":266,"context_line":"            return"},{"line_number":267,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":268,"context_line":"        filters \u003d {\u0027id\u0027: [port_id],"},{"line_number":269,"context_line":"                   \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]}"},{"line_number":270,"context_line":"        for port in self._plugin.get_ports(context, filters\u003dfilters):"},{"line_number":271,"context_line":"            # Keep the last Neutron and NB host until this gateway is rebound."},{"line_number":272,"context_line":"            if port[\u0027status\u0027] !\u003d n_const.PORT_STATUS_DOWN:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9dbbfe1f_c2633d40","line":269,"range":{"start_line":269,"start_character":19,"end_line":269,"end_character":67},"in_reply_to":"11abb293_881b42bd","updated":"2026-09-30 09:40:54.000000000","message":"Done","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"33027bd46eb2d7c1d5c89b35c7e6a3b2639b9e50","unresolved":true,"context_lines":[{"line_number":266,"context_line":"            return"},{"line_number":267,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":268,"context_line":"        filters \u003d {\u0027id\u0027: [port_id],"},{"line_number":269,"context_line":"                   \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]}"},{"line_number":270,"context_line":"        for port in self._plugin.get_ports(context, filters\u003dfilters):"},{"line_number":271,"context_line":"            # Keep the last Neutron and NB host until this gateway is rebound."},{"line_number":272,"context_line":"            if port[\u0027status\u0027] !\u003d n_const.PORT_STATUS_DOWN:"}],"source_content_type":"text/x-python","patch_set":3,"id":"11abb293_881b42bd","line":269,"range":{"start_line":269,"start_character":19,"end_line":269,"end_character":67},"in_reply_to":"5473a620_e44fce4c","updated":"2026-09-28 09:37:24.000000000","message":"Yeah, commented, I can drop everything from line 268 until 272 ..it was meant as extra check.. Should I drop ?","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"643181ec53e898dbaf1739028385f0e4dbfea49b","unresolved":true,"context_lines":[{"line_number":267,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":268,"context_line":"        filters \u003d {\u0027id\u0027: [port_id],"},{"line_number":269,"context_line":"                   \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]}"},{"line_number":270,"context_line":"        for port in self._plugin.get_ports(context, filters\u003dfilters):"},{"line_number":271,"context_line":"            # Keep the last Neutron and NB host until this gateway is rebound."},{"line_number":272,"context_line":"            if port[\u0027status\u0027] !\u003d n_const.PORT_STATUS_DOWN:"},{"line_number":273,"context_line":"                self._plugin.update_port_status("}],"source_content_type":"text/x-python","patch_set":3,"id":"4e159b53_d770f7e4","line":270,"range":{"start_line":270,"start_character":20,"end_line":270,"end_character":42},"updated":"2026-09-28 09:34:23.000000000","message":"nit: Why not `get_port`?","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"de42e15eca74f0509093098a85db24d96ce88ca8","unresolved":true,"context_lines":[{"line_number":267,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":268,"context_line":"        filters \u003d {\u0027id\u0027: [port_id],"},{"line_number":269,"context_line":"                   \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]}"},{"line_number":270,"context_line":"        for port in self._plugin.get_ports(context, filters\u003dfilters):"},{"line_number":271,"context_line":"            # Keep the last Neutron and NB host until this gateway is rebound."},{"line_number":272,"context_line":"            if port[\u0027status\u0027] !\u003d n_const.PORT_STATUS_DOWN:"},{"line_number":273,"context_line":"                self._plugin.update_port_status("}],"source_content_type":"text/x-python","patch_set":3,"id":"e6693fcb_e56517bc","line":270,"updated":"2026-09-28 09:12:09.000000000","message":"why do you need to search for that port if you already have port_id for it?","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"33027bd46eb2d7c1d5c89b35c7e6a3b2639b9e50","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":268,"context_line":"        filters \u003d {\u0027id\u0027: [port_id],"},{"line_number":269,"context_line":"                   \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]}"},{"line_number":270,"context_line":"        for port in self._plugin.get_ports(context, filters\u003dfilters):"},{"line_number":271,"context_line":"            # Keep the last Neutron and NB host until this gateway is rebound."},{"line_number":272,"context_line":"            if port[\u0027status\u0027] !\u003d n_const.PORT_STATUS_DOWN:"},{"line_number":273,"context_line":"                self._plugin.update_port_status("}],"source_content_type":"text/x-python","patch_set":3,"id":"bbbf21c8_d5be3498","line":270,"range":{"start_line":270,"start_character":20,"end_line":270,"end_character":42},"in_reply_to":"4e159b53_d770f7e4","updated":"2026-09-28 09:37:24.000000000","message":"Done","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"5a6782ef8547649c2422bb81394e984d9a381d4a","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":268,"context_line":"        filters \u003d {\u0027id\u0027: [port_id],"},{"line_number":269,"context_line":"                   \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]}"},{"line_number":270,"context_line":"        for port in self._plugin.get_ports(context, filters\u003dfilters):"},{"line_number":271,"context_line":"            # Keep the last Neutron and NB host until this gateway is rebound."},{"line_number":272,"context_line":"            if port[\u0027status\u0027] !\u003d n_const.PORT_STATUS_DOWN:"},{"line_number":273,"context_line":"                self._plugin.update_port_status("}],"source_content_type":"text/x-python","patch_set":3,"id":"da81fa77_3c071d3f","line":270,"in_reply_to":"d1cd131b_7352b6fe","updated":"2026-09-30 09:40:54.000000000","message":"Done","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"edc1c1016da58e84183891f842ea62dc48d3fa20","unresolved":true,"context_lines":[{"line_number":267,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":268,"context_line":"        filters \u003d {\u0027id\u0027: [port_id],"},{"line_number":269,"context_line":"                   \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]}"},{"line_number":270,"context_line":"        for port in self._plugin.get_ports(context, filters\u003dfilters):"},{"line_number":271,"context_line":"            # Keep the last Neutron and NB host until this gateway is rebound."},{"line_number":272,"context_line":"            if port[\u0027status\u0027] !\u003d n_const.PORT_STATUS_DOWN:"},{"line_number":273,"context_line":"                self._plugin.update_port_status("}],"source_content_type":"text/x-python","patch_set":3,"id":"d1cd131b_7352b6fe","line":270,"in_reply_to":"e6693fcb_e56517bc","updated":"2026-09-28 09:34:48.000000000","message":"The lookup was intended to extra check that the port still exists, belongs to a router gateway, and is not already down ... But it\u0027s true that I can probably simplify it to self._plugin.update_port_status(context, port_id, n_const.PORT_STATUS_DOWN) .. and drop for cycle ... what do you mean ?","commit_id":"19d35cde76f8f4220eb1fc36bc0fe94caed0b55f"}]}
