)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d16fe85b9c31bbfd1853673e6eca65477dca05a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"18f8ca84_e90692cf","updated":"2026-03-23 16:01:11.000000000","message":"i think for most of the del/assert changes i woudl asscpet the current cleanup but adress them across the codebase in a dedicated cleanup patch later.","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e246bdc0558faedfde2ba588df89dc8e487f5cd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8e66607c_53f8564f","updated":"2026-03-24 17:07:14.000000000","message":"Looks like my migration was incomplete","commit_id":"09d3eb0d69bcb7c62d83ecc8a8af728b0c750aa8"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4b536fc6c5d095583d60591762c62f3e97394c74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e0efdc0e_b59b8a2c","updated":"2026-03-25 07:40:15.000000000","message":"recheck neutron-functional","commit_id":"7d44bc2483d9d762eddaef9dff693f547d89232f"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0e183ab1556fd88af16bf0f2c151c529f6728d86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7ab9b0af_82bf5ed2","updated":"2026-03-25 16:58:01.000000000","message":"thanks","commit_id":"7d44bc2483d9d762eddaef9dff693f547d89232f"}],"neutron/tests/functional/common/ovn/test_utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1882b9f92b52d7d5d1bd049eb9268789964bba11","unresolved":true,"context_lines":[{"line_number":429,"context_line":"        kwargs \u003d {external_net.EXTERNAL: True, \u0027as_admin\u0027: True}"},{"line_number":430,"context_line":"        net \u003d self._make_network(self.fmt, \u0027n1\u0027, True, **kwargs)[\u0027network\u0027]"},{"line_number":431,"context_line":"        port_data \u003d {\u0027port\u0027: {\u0027network_id\u0027: net[\u0027id\u0027],"},{"line_number":432,"context_line":"                              \u0027project_id\u0027: self._project_id, }}"},{"line_number":433,"context_line":"        port_req \u003d self.new_create_request(\u0027ports\u0027, port_data, self.fmt)"},{"line_number":434,"context_line":"        port_res \u003d port_req.get_response(self.api)"},{"line_number":435,"context_line":"        return self.deserialize(self.fmt, port_res)[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"4d02e4c4_d247e933","line":432,"updated":"2026-03-20 14:29:49.000000000","message":"should probably drop the trailing comma instead?","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d16fe85b9c31bbfd1853673e6eca65477dca05a6","unresolved":true,"context_lines":[{"line_number":429,"context_line":"        kwargs \u003d {external_net.EXTERNAL: True, \u0027as_admin\u0027: True}"},{"line_number":430,"context_line":"        net \u003d self._make_network(self.fmt, \u0027n1\u0027, True, **kwargs)[\u0027network\u0027]"},{"line_number":431,"context_line":"        port_data \u003d {\u0027port\u0027: {\u0027network_id\u0027: net[\u0027id\u0027],"},{"line_number":432,"context_line":"                              \u0027project_id\u0027: self._project_id, }}"},{"line_number":433,"context_line":"        port_req \u003d self.new_create_request(\u0027ports\u0027, port_data, self.fmt)"},{"line_number":434,"context_line":"        port_res \u003d port_req.get_response(self.api)"},{"line_number":435,"context_line":"        return self.deserialize(self.fmt, port_res)[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9b5d900f_fc280ed1","line":432,"in_reply_to":"4d02e4c4_d247e933","updated":"2026-03-23 16:01:11.000000000","message":"that and or add the config option to ignore trailign commas althought that also has it limitaitons\nthe space after it is ode but its actully perhaps a littel more readbale so either is fine i guess.","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b5c119a5538d115cf083c9dbee864e25422e130d","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        kwargs \u003d {external_net.EXTERNAL: True, \u0027as_admin\u0027: True}"},{"line_number":430,"context_line":"        net \u003d self._make_network(self.fmt, \u0027n1\u0027, True, **kwargs)[\u0027network\u0027]"},{"line_number":431,"context_line":"        port_data \u003d {\u0027port\u0027: {\u0027network_id\u0027: net[\u0027id\u0027],"},{"line_number":432,"context_line":"                              \u0027project_id\u0027: self._project_id, }}"},{"line_number":433,"context_line":"        port_req \u003d self.new_create_request(\u0027ports\u0027, port_data, self.fmt)"},{"line_number":434,"context_line":"        port_res \u003d port_req.get_response(self.api)"},{"line_number":435,"context_line":"        return self.deserialize(self.fmt, port_res)[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"5126e3e0_075f0eb9","line":432,"in_reply_to":"9b5d900f_fc280ed1","updated":"2026-03-24 09:39:37.000000000","message":"Done","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"}],"neutron/tests/unit/common/ovn/test_utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1882b9f92b52d7d5d1bd049eb9268789964bba11","unresolved":true,"context_lines":[{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        }"},{"line_number":702,"context_line":"        expect \u003d binding_profile.copy()"},{"line_number":703,"context_line":"        del (expect[constants.PORT_CAP_PARAM])"},{"line_number":704,"context_line":"        self.assertEqual("},{"line_number":705,"context_line":"            utils.BPInfo(expect, portbindings.VNIC_DIRECT,"},{"line_number":706,"context_line":"                         [constants.PORT_CAP_SWITCHDEV]),"}],"source_content_type":"text/x-python","patch_set":2,"id":"33d60bdd_36b2a7fb","line":703,"updated":"2026-03-20 14:29:49.000000000","message":"the \"correct\" fix here is to remove these brackets (`del` is a keyword, like `print` was in Python 2, not a function) but this is the auto-fix","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d16fe85b9c31bbfd1853673e6eca65477dca05a6","unresolved":true,"context_lines":[{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        }"},{"line_number":702,"context_line":"        expect \u003d binding_profile.copy()"},{"line_number":703,"context_line":"        del (expect[constants.PORT_CAP_PARAM])"},{"line_number":704,"context_line":"        self.assertEqual("},{"line_number":705,"context_line":"            utils.BPInfo(expect, portbindings.VNIC_DIRECT,"},{"line_number":706,"context_line":"                         [constants.PORT_CAP_SWITCHDEV]),"}],"source_content_type":"text/x-python","patch_set":2,"id":"4c6ff282_601b960d","line":703,"in_reply_to":"33d60bdd_36b2a7fb","updated":"2026-03-23 16:01:11.000000000","message":"ya so thats an option i generaly prefer pop over del partly so it can be treated like a function\n\ni tend to find pop cleaner to read but your correct about the fact del is a keyword and the fact the prens are not required","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b5c119a5538d115cf083c9dbee864e25422e130d","unresolved":false,"context_lines":[{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        }"},{"line_number":702,"context_line":"        expect \u003d binding_profile.copy()"},{"line_number":703,"context_line":"        del (expect[constants.PORT_CAP_PARAM])"},{"line_number":704,"context_line":"        self.assertEqual("},{"line_number":705,"context_line":"            utils.BPInfo(expect, portbindings.VNIC_DIRECT,"},{"line_number":706,"context_line":"                         [constants.PORT_CAP_SWITCHDEV]),"}],"source_content_type":"text/x-python","patch_set":2,"id":"5b70419e_abf8968f","line":703,"in_reply_to":"4c6ff282_601b960d","updated":"2026-03-24 09:39:37.000000000","message":"good point: I used `pop` instead","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"}],"neutron/tests/unit/plugins/ml2/drivers/ext_test.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1882b9f92b52d7d5d1bd049eb9268789964bba11","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        self.val_by_id \u003d {}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _check_create(self, session, data, result):"},{"line_number":51,"context_line":"        assert (isinstance(session, oslo_db.sqlalchemy.session.Session))"},{"line_number":52,"context_line":"        assert (isinstance(data, dict))"},{"line_number":53,"context_line":"        assert (\u0027id\u0027 not in data)"},{"line_number":54,"context_line":"        assert (isinstance(result, dict))"}],"source_content_type":"text/x-python","patch_set":2,"id":"e8b78f4d_c881a30e","line":51,"updated":"2026-03-20 14:29:49.000000000","message":"once again, the \"correct\" fix here is to remove these brackets","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b6eaff9ef88c7e2c0baa756e84fbc49a7796ab4e","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        self.val_by_id \u003d {}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _check_create(self, session, data, result):"},{"line_number":51,"context_line":"        assert (isinstance(session, oslo_db.sqlalchemy.session.Session))"},{"line_number":52,"context_line":"        assert (isinstance(data, dict))"},{"line_number":53,"context_line":"        assert (\u0027id\u0027 not in data)"},{"line_number":54,"context_line":"        assert (isinstance(result, dict))"}],"source_content_type":"text/x-python","patch_set":2,"id":"f0d7200f_a968b93d","line":51,"in_reply_to":"8afbd110_c1e2e67f","updated":"2026-03-23 17:10:10.000000000","message":"Yeah, indeed.","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"874f890f632b9281dfcad1786598265f12c97095","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        self.val_by_id \u003d {}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _check_create(self, session, data, result):"},{"line_number":51,"context_line":"        assert (isinstance(session, oslo_db.sqlalchemy.session.Session))"},{"line_number":52,"context_line":"        assert (isinstance(data, dict))"},{"line_number":53,"context_line":"        assert (\u0027id\u0027 not in data)"},{"line_number":54,"context_line":"        assert (isinstance(result, dict))"}],"source_content_type":"text/x-python","patch_set":2,"id":"8afbd110_c1e2e67f","line":51,"in_reply_to":"e8b78f4d_c881a30e","updated":"2026-03-23 16:12:18.000000000","message":"More correct fix is to remove assert() - i can do that in a follow-up.","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b5c119a5538d115cf083c9dbee864e25422e130d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        self.val_by_id \u003d {}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _check_create(self, session, data, result):"},{"line_number":51,"context_line":"        assert (isinstance(session, oslo_db.sqlalchemy.session.Session))"},{"line_number":52,"context_line":"        assert (isinstance(data, dict))"},{"line_number":53,"context_line":"        assert (\u0027id\u0027 not in data)"},{"line_number":54,"context_line":"        assert (isinstance(result, dict))"}],"source_content_type":"text/x-python","patch_set":2,"id":"6dcbaf5d_1462a10f","line":51,"in_reply_to":"f0d7200f_a968b93d","updated":"2026-03-24 09:39:37.000000000","message":"Done","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec5e1fb7b66b19dd450818da00ea2f8258b9ba95","unresolved":true,"context_lines":[{"line_number":76,"context_line":"            )"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            assert (isinstance(entry, expected_db_entry_class))"},{"line_number":79,"context_line":"        assert (entry.id \u003d\u003d result[\u0027id\u0027])"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _store_change(self, result, data, field):"},{"line_number":82,"context_line":"        if field in data and data[field] !\u003d constants.ATTR_NOT_SPECIFIED:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f3440d8_251999c6","line":79,"updated":"2026-03-20 15:26:18.000000000","message":"This whole file gets at my previous comment about assert(), I\u0027ll add this mess to my cleanup","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d16fe85b9c31bbfd1853673e6eca65477dca05a6","unresolved":true,"context_lines":[{"line_number":76,"context_line":"            )"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            assert (isinstance(entry, expected_db_entry_class))"},{"line_number":79,"context_line":"        assert (entry.id \u003d\u003d result[\u0027id\u0027])"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _store_change(self, result, data, field):"},{"line_number":82,"context_line":"        if field in data and data[field] !\u003d constants.ATTR_NOT_SPECIFIED:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ee6ecfc_720ca69c","line":79,"in_reply_to":"1f3440d8_251999c6","updated":"2026-03-23 16:01:11.000000000","message":"ya ideally assert woudl not be used in any test and we woudl use self.assertEqual here ectra","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b5c119a5538d115cf083c9dbee864e25422e130d","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            )"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            assert (isinstance(entry, expected_db_entry_class))"},{"line_number":79,"context_line":"        assert (entry.id \u003d\u003d result[\u0027id\u0027])"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _store_change(self, result, data, field):"},{"line_number":82,"context_line":"        if field in data and data[field] !\u003d constants.ATTR_NOT_SPECIFIED:"}],"source_content_type":"text/x-python","patch_set":2,"id":"57d457dc_29e13653","line":79,"in_reply_to":"9ee6ecfc_720ca69c","updated":"2026-03-24 09:39:37.000000000","message":"Done","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cf3fac50f6ca551e2c5ef0da6cbf637f435a9e93","unresolved":true,"context_lines":[{"line_number":47,"context_line":"        # keep track of values"},{"line_number":48,"context_line":"        self.val_by_id \u003d {}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _check_create(self, session, data, result):"},{"line_number":51,"context_line":"        self.assertIsInstance(session, oslo_db.sqlalchemy.session.Session)"},{"line_number":52,"context_line":"        self.assertIsInstance(data, dict)"},{"line_number":53,"context_line":"        self.assertNotIn(\u0027id\u0027, data)"}],"source_content_type":"text/x-python","patch_set":5,"id":"98a9426a_8c88d584","line":50,"updated":"2026-03-25 04:11:18.000000000","message":"Ah, so the problem is we can\u0027t use self.assert* here because of the way it\u0027s used, just like mechanism_text.py, I\u0027ll fix it","commit_id":"220c49811595a8e56776b10aba6693b37e02e6c8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dd1814482f5da480a65d147f990ec7b47f3904c2","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        # keep track of values"},{"line_number":48,"context_line":"        self.val_by_id \u003d {}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _check_create(self, session, data, result):"},{"line_number":51,"context_line":"        self.assertIsInstance(session, oslo_db.sqlalchemy.session.Session)"},{"line_number":52,"context_line":"        self.assertIsInstance(data, dict)"},{"line_number":53,"context_line":"        self.assertNotIn(\u0027id\u0027, data)"}],"source_content_type":"text/x-python","patch_set":5,"id":"c1b8d84b_d91b5459","line":50,"in_reply_to":"98a9426a_8c88d584","updated":"2026-03-25 04:13:00.000000000","message":"Done","commit_id":"220c49811595a8e56776b10aba6693b37e02e6c8"}],"neutron/tests/unit/plugins/ml2/drivers/mechanism_test.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec5e1fb7b66b19dd450818da00ea2f8258b9ba95","unresolved":true,"context_lines":[{"line_number":200,"context_line":"        assert (isinstance(bottom_level, dict))"},{"line_number":201,"context_line":"        assert (isinstance(bottom_segment, dict))"},{"line_number":202,"context_line":"        assert (bottom_segment \u003d\u003d bottom_level[api.BOUND_SEGMENT])"},{"line_number":203,"context_line":"        assert (\u0027test\u0027 \u003d\u003d bottom_level[api.BOUND_DRIVER])"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def create_port_precommit(self, context):"},{"line_number":206,"context_line":"        self._check_port_context(context, False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7c264436_7a3991fe","line":203,"updated":"2026-03-20 15:26:18.000000000","message":"And this file too","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b5c119a5538d115cf083c9dbee864e25422e130d","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        assert (isinstance(bottom_level, dict))"},{"line_number":201,"context_line":"        assert (isinstance(bottom_segment, dict))"},{"line_number":202,"context_line":"        assert (bottom_segment \u003d\u003d bottom_level[api.BOUND_SEGMENT])"},{"line_number":203,"context_line":"        assert (\u0027test\u0027 \u003d\u003d bottom_level[api.BOUND_DRIVER])"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def create_port_precommit(self, context):"},{"line_number":206,"context_line":"        self._check_port_context(context, False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"635a1c83_2cdc24c2","line":203,"in_reply_to":"7c264436_7a3991fe","updated":"2026-03-24 09:39:37.000000000","message":"Done","commit_id":"33eea7a8691c72779b8b4970e79bedb149f816db"}],"pyproject.toml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"61d1867749884012cea13fd86ca54467c7a03750","unresolved":true,"context_lines":[{"line_number":378,"context_line":"\"neutron/tests/*\" \u003d [\"S\"]"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"[tool.ruff.lint.mccabe]"},{"line_number":381,"context_line":"# TODO(stephenfin): It would be good to get this...lower..."},{"line_number":382,"context_line":"max-complexity \u003d 69"}],"source_content_type":"text/x-toml","patch_set":3,"id":"a8f00edc_4b638c60","line":381,"range":{"start_line":381,"start_character":2,"end_line":381,"end_character":59},"updated":"2026-03-23 18:05:34.000000000","message":"i belive the actul upstream recomedation for this is something like 5\n\n20 is the target i have mostly aimed for in other projects\n\nnova is ~ 40 at the moment os neuton has very comple code it seams","commit_id":"909fa3954667add60b7ec484e3ec191b3dcbf4be"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8b712c270b21ca3168b8bde450de8d299f6b000c","unresolved":false,"context_lines":[{"line_number":378,"context_line":"\"neutron/tests/*\" \u003d [\"S\"]"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"[tool.ruff.lint.mccabe]"},{"line_number":381,"context_line":"# TODO(stephenfin): It would be good to get this...lower..."},{"line_number":382,"context_line":"max-complexity \u003d 69"}],"source_content_type":"text/x-toml","patch_set":3,"id":"eeea46bc_18194be8","line":381,"range":{"start_line":381,"start_character":2,"end_line":381,"end_character":59},"in_reply_to":"862881d9_538eff7e","updated":"2026-03-24 20:22:02.000000000","message":"I\u0027ll leave this one to you 🙏","commit_id":"909fa3954667add60b7ec484e3ec191b3dcbf4be"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4d6e10b42561771d9641c9f359354ec6616a5754","unresolved":true,"context_lines":[{"line_number":378,"context_line":"\"neutron/tests/*\" \u003d [\"S\"]"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"[tool.ruff.lint.mccabe]"},{"line_number":381,"context_line":"# TODO(stephenfin): It would be good to get this...lower..."},{"line_number":382,"context_line":"max-complexity \u003d 69"}],"source_content_type":"text/x-toml","patch_set":3,"id":"c5b0725e_ffa602f4","line":381,"range":{"start_line":381,"start_character":2,"end_line":381,"end_character":59},"in_reply_to":"a8f00edc_4b638c60","updated":"2026-03-23 20:41:11.000000000","message":"We like to call it job security 😊\n\nSeems like lowering will cause complaints, making it easy to fix some low-hanging fruit. I mean, if I set it to 60 I only get one hit:\n\nC901 `sync_routers_and_rports` is too complex (68 \u003e 60)\n   --\u003e neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py:575:9\n    |\n573 |         return db_lrport_ra !\u003d lrport_ra\n574 |\n575 |     def sync_routers_and_rports(self, ctx):\n    |         ^^^^^^^^^^^^^^^^^^^^^^^\n576 |         \"\"\"Sync Routers between neutron and NB.\n    |\n\nFound 1 error.\n\nWith a lot of hacking I got that to... 67, yikes","commit_id":"909fa3954667add60b7ec484e3ec191b3dcbf4be"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9f19d3fc5171ed4c75692b40ee8edc48f6723a31","unresolved":true,"context_lines":[{"line_number":378,"context_line":"\"neutron/tests/*\" \u003d [\"S\"]"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"[tool.ruff.lint.mccabe]"},{"line_number":381,"context_line":"# TODO(stephenfin): It would be good to get this...lower..."},{"line_number":382,"context_line":"max-complexity \u003d 69"}],"source_content_type":"text/x-toml","patch_set":3,"id":"862881d9_538eff7e","line":381,"range":{"start_line":381,"start_character":2,"end_line":381,"end_character":59},"in_reply_to":"c5b0725e_ffa602f4","updated":"2026-03-23 21:57:51.000000000","message":"Ok, so a little more work and I removed the complexity, score would be 37 now, so I\u0027ll take care of this after this merges.","commit_id":"909fa3954667add60b7ec484e3ec191b3dcbf4be"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f202f88ed51a350ec1e6a6d42e040576e29394b5","unresolved":false,"context_lines":[{"line_number":378,"context_line":"\"neutron/tests/*\" \u003d [\"S\"]"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"[tool.ruff.lint.mccabe]"},{"line_number":381,"context_line":"# TODO(stephenfin): It would be good to get this...lower..."},{"line_number":382,"context_line":"max-complexity \u003d 69"}],"source_content_type":"text/x-toml","patch_set":3,"id":"ac302d01_edaec7b2","line":381,"range":{"start_line":381,"start_character":2,"end_line":381,"end_character":59},"in_reply_to":"eeea46bc_18194be8","updated":"2026-03-25 03:20:11.000000000","message":"Hey Stephen - this patch or the follow-on? Thanks for the other 3 BTW","commit_id":"909fa3954667add60b7ec484e3ec191b3dcbf4be"}]}
