)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"356468e8e38e719dea0da0a292536931f5a3f08d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bf6db877_c8905388","updated":"2026-03-25 18:23:22.000000000","message":"recheck neutron-tempest-plugin-ovn timed out","commit_id":"624f6586ff0401f3618f908e84e1474b824b002c"}],"neutron/agent/ovn/extensions/bgp/__init__.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dc40478918230196aa572ed5571c118f460af4d8","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        return ["},{"line_number":63,"context_line":"            \u0027Port_Binding\u0027,"},{"line_number":64,"context_line":"            \u0027Chassis\u0027,"},{"line_number":65,"context_line":"            \u0027Encap\u0027,"},{"line_number":66,"context_line":"        ]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":1,"id":"79e9918e_9c60e972","line":65,"updated":"2026-03-25 03:25:50.000000000","message":"I didn\u0027t see Encap used in this patch?","commit_id":"49b86d7a374015c0418ab9595d888f9799c4b1b2"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"480e3d5e53c0db91c21800e5f8538b4b6c1951f9","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        return ["},{"line_number":63,"context_line":"            \u0027Port_Binding\u0027,"},{"line_number":64,"context_line":"            \u0027Chassis\u0027,"},{"line_number":65,"context_line":"            \u0027Encap\u0027,"},{"line_number":66,"context_line":"        ]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":1,"id":"8c465592_03302e48","line":65,"in_reply_to":"522f5149_7973fd6e","updated":"2026-03-25 14:12:08.000000000","message":"Seems like you\u0027re right, we do not need the Encap table.\nDone","commit_id":"49b86d7a374015c0418ab9595d888f9799c4b1b2"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff9efd273c26f00b695179ffee2a9aed86a643dc","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        return ["},{"line_number":63,"context_line":"            \u0027Port_Binding\u0027,"},{"line_number":64,"context_line":"            \u0027Chassis\u0027,"},{"line_number":65,"context_line":"            \u0027Encap\u0027,"},{"line_number":66,"context_line":"        ]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":1,"id":"522f5149_7973fd6e","line":65,"in_reply_to":"79e9918e_9c60e972","updated":"2026-03-25 14:02:19.000000000","message":"I thought it was needed because the Chassis table has a reference to the Encap table - https://github.com/ovn-org/ovn/blob/v26.03.0/ovn-sb.ovsschema#L31-L33 but I didn\u0027t test it without, I will try to remove the Encap.","commit_id":"49b86d7a374015c0418ab9595d888f9799c4b1b2"}],"neutron/agent/ovn/extensions/bgp/bridge.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"169c353038805f1b2f2546ff9cc48bbaf41cf865","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            \u0027Port_Binding\u0027,"},{"line_number":120,"context_line":"            (\u0027type\u0027, \u0027\u003d\u0027, ovn_const.PB_TYPE_L3GATEWAY),"},{"line_number":121,"context_line":"            (\u0027external_ids\u0027, \u0027\u003d\u0027, ext_ids),"},{"line_number":122,"context_line":"            (\u0027chassis\u0027, \u0027\u003d\u0027, self.bgp_agent_api.chassis_id),"},{"line_number":123,"context_line":"        ).execute(check_error\u003dTrue)"},{"line_number":124,"context_line":"        if len(port_bindings) \u003e 1:"},{"line_number":125,"context_line":"            LOG.warning(\"Expected 1 LRP MAC for bridge %s and chassis %s \""}],"source_content_type":"text/x-python","patch_set":2,"id":"d7c6c77f_aff437bc","line":122,"range":{"start_line":122,"start_character":29,"end_line":122,"end_character":58},"updated":"2026-03-27 08:01:03.000000000","message":"If property `chassis_id` returns None, this find call will match all unbound ports. I think this method should first check that and exit in that case with another warning message.","commit_id":"624f6586ff0401f3618f908e84e1474b824b002c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"b5edad7b28fc78fd600f3cb2ebf2d9399a8d170c","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            \u0027Port_Binding\u0027,"},{"line_number":120,"context_line":"            (\u0027type\u0027, \u0027\u003d\u0027, ovn_const.PB_TYPE_L3GATEWAY),"},{"line_number":121,"context_line":"            (\u0027external_ids\u0027, \u0027\u003d\u0027, ext_ids),"},{"line_number":122,"context_line":"            (\u0027chassis\u0027, \u0027\u003d\u0027, self.bgp_agent_api.chassis_id),"},{"line_number":123,"context_line":"        ).execute(check_error\u003dTrue)"},{"line_number":124,"context_line":"        if len(port_bindings) \u003e 1:"},{"line_number":125,"context_line":"            LOG.warning(\"Expected 1 LRP MAC for bridge %s and chassis %s \""}],"source_content_type":"text/x-python","patch_set":2,"id":"7772506c_6c30dc24","line":122,"range":{"start_line":122,"start_character":29,"end_line":122,"end_character":58},"in_reply_to":"d7c6c77f_aff437bc","updated":"2026-03-30 12:31:46.000000000","message":"It shouldn\u0027t since None is not translated as an empty value so if None is passed then it should not find any port bindings, unless the chassis column is somehow set to `None` instead of empty.","commit_id":"624f6586ff0401f3618f908e84e1474b824b002c"}],"neutron/tests/functional/agent/ovn/extensions/bgp/test_bridge.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"169c353038805f1b2f2546ff9cc48bbaf41cf865","unresolved":true,"context_lines":[{"line_number":113,"context_line":"            \u0027172.24.4.10\u0027,"},{"line_number":114,"context_line":"            hostname\u003dchassis_name,"},{"line_number":115,"context_line":"        ).execute(check_error\u003dTrue)"},{"line_number":116,"context_line":"        self.bgp_bridge.bgp_agent_api.chassis_id \u003d chassis.uuid"},{"line_number":117,"context_line":"        self.sb_api.db_create("},{"line_number":118,"context_line":"            \u0027Chassis_Private\u0027, name\u003dchassis_name,"},{"line_number":119,"context_line":"            chassis\u003dchassis.uuid,"}],"source_content_type":"text/x-python","patch_set":2,"id":"888b1453_23d043a4","line":116,"range":{"start_line":116,"start_character":8,"end_line":116,"end_character":63},"updated":"2026-03-27 08:01:03.000000000","message":"This is something found by Claude.\n\nIn https://review.opendev.org/c/openstack/neutron/+/981955/2/neutron/agent/ovn/extensions/bgp/bridge.py#122 you request the `bgp_agent_api.chassis_name`, but `FakeBgpAgentApi` doesn\u0027t have it.","commit_id":"624f6586ff0401f3618f908e84e1474b824b002c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"acae80525cc20c4557190b21566cc07b768673e4","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            \u0027172.24.4.10\u0027,"},{"line_number":114,"context_line":"            hostname\u003dchassis_name,"},{"line_number":115,"context_line":"        ).execute(check_error\u003dTrue)"},{"line_number":116,"context_line":"        self.bgp_bridge.bgp_agent_api.chassis_id \u003d chassis.uuid"},{"line_number":117,"context_line":"        self.sb_api.db_create("},{"line_number":118,"context_line":"            \u0027Chassis_Private\u0027, name\u003dchassis_name,"},{"line_number":119,"context_line":"            chassis\u003dchassis.uuid,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a31a112_86e14b17","line":116,"range":{"start_line":116,"start_character":8,"end_line":116,"end_character":63},"in_reply_to":"3e198ce2_6eea95e0","updated":"2026-03-30 12:34:23.000000000","message":"Done","commit_id":"624f6586ff0401f3618f908e84e1474b824b002c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"b5edad7b28fc78fd600f3cb2ebf2d9399a8d170c","unresolved":true,"context_lines":[{"line_number":113,"context_line":"            \u0027172.24.4.10\u0027,"},{"line_number":114,"context_line":"            hostname\u003dchassis_name,"},{"line_number":115,"context_line":"        ).execute(check_error\u003dTrue)"},{"line_number":116,"context_line":"        self.bgp_bridge.bgp_agent_api.chassis_id \u003d chassis.uuid"},{"line_number":117,"context_line":"        self.sb_api.db_create("},{"line_number":118,"context_line":"            \u0027Chassis_Private\u0027, name\u003dchassis_name,"},{"line_number":119,"context_line":"            chassis\u003dchassis.uuid,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3e198ce2_6eea95e0","line":116,"range":{"start_line":116,"start_character":8,"end_line":116,"end_character":63},"in_reply_to":"888b1453_23d043a4","updated":"2026-03-30 12:31:46.000000000","message":"You mean in the log message on L127?","commit_id":"624f6586ff0401f3618f908e84e1474b824b002c"}]}
