)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"289973edbf57e49e21d1d17be14cee29a436f6a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e6a120ad_32d69d28","updated":"2023-11-27 17:57:31.000000000","message":"Can you add a test for this?","commit_id":"ab5d25e3264e980986915d18f0374eeb93cb8113"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"0b25a52dbf9ad0b67621b38bb55d05827f9467a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"646de7fb_ddb0fd7c","updated":"2023-12-01 11:03:27.000000000","message":"Downgrading my vote since it\u0027s everybody consensus that we need tests for this","commit_id":"947be948b5c6cc5c672b27aab62d9bfa658f8207"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c7e5b235d4f86aadd0258501b48901e97eaf85dc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"64427d4e_1acb92eb","updated":"2023-11-28 14:13:28.000000000","message":"The patch LGTM. But I would like to reinforce lajos question here. Can this be unittested ? I don\u0027t see a UT for this method specifically but I think it would be a good thing to have one if you are willing to create it.","commit_id":"947be948b5c6cc5c672b27aab62d9bfa658f8207"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"0d60e32f423507e77eb64e1569fae28d125d828f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"740898ce_d8c5835e","updated":"2023-11-28 06:19:11.000000000","message":"recheck","commit_id":"947be948b5c6cc5c672b27aab62d9bfa658f8207"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c06420339ae2b44c9bd0de9beff48c79e47e2398","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5962feac_688ca57d","updated":"2024-02-12 10:35:23.000000000","message":"Looks ok","commit_id":"850a2133660eb51f2e2e906957a05e0f47454ead"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"53feb4de95f3b482f23f75ec16d65371b9258be1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1d0712a2_cdd9bdee","updated":"2023-12-27 03:14:50.000000000","message":"recheck","commit_id":"850a2133660eb51f2e2e906957a05e0f47454ead"}],"neutron/agent/ovn/metadata/agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"289973edbf57e49e21d1d17be14cee29a436f6a1","unresolved":true,"context_lines":[{"line_number":154,"context_line":"        old_cidrs \u003d old.external_ids.get("},{"line_number":155,"context_line":"            ovn_const.OVN_CIDRS_EXT_ID_KEY, \"\")"},{"line_number":156,"context_line":"        # If old_cidrs equals new_cidrs, the ip does not change."},{"line_number":157,"context_line":"        if not old_cidrs \u003d\u003d new_cidrs:"},{"line_number":158,"context_line":"            self._log_msg \u003d ("},{"line_number":159,"context_line":"                \"Metadata Port %s in datapath %s updated\")"},{"line_number":160,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"3d70dce9_46e6f0d7","line":157,"updated":"2023-11-27 17:57:31.000000000","message":"This should be a not-equal comparison like\n\nif old_cidrs !\u003d new_cidrs:","commit_id":"ab5d25e3264e980986915d18f0374eeb93cb8113"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"5442a831e91a429895715320f46ef9ba1b2e77d0","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        old_cidrs \u003d old.external_ids.get("},{"line_number":155,"context_line":"            ovn_const.OVN_CIDRS_EXT_ID_KEY, \"\")"},{"line_number":156,"context_line":"        # If old_cidrs equals new_cidrs, the ip does not change."},{"line_number":157,"context_line":"        if not old_cidrs \u003d\u003d new_cidrs:"},{"line_number":158,"context_line":"            self._log_msg \u003d ("},{"line_number":159,"context_line":"                \"Metadata Port %s in datapath %s updated\")"},{"line_number":160,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"49f638e7_44e94a1a","line":157,"in_reply_to":"3d70dce9_46e6f0d7","updated":"2023-11-28 02:21:14.000000000","message":"Done","commit_id":"ab5d25e3264e980986915d18f0374eeb93cb8113"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"602782be3776e27b39902de1d6cfaf34e928f921","unresolved":true,"context_lines":[{"line_number":156,"context_line":"        # If old_cidrs is \"\", it is create event,"},{"line_number":157,"context_line":"        # nothing needs to be done."},{"line_number":158,"context_line":"        # If old_cidrs equals new_cidrs, the ip does not change."},{"line_number":159,"context_line":"        if old_cidrs not in (\"\", new_cidrs):"},{"line_number":160,"context_line":"            self._log_msg \u003d ("},{"line_number":161,"context_line":"                \"Metadata Port %s in datapath %s updated\")"},{"line_number":162,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":3,"id":"764bc43f_74d4ecaf","side":"PARENT","line":159,"range":{"start_line":159,"start_character":8,"end_line":159,"end_character":44},"updated":"2023-11-28 08:57:26.000000000","message":"Could you please check if it can be tested with unit tests for example?","commit_id":"56172ed5aef07d278e0f9cd6bcd5164f3f0ffa49"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2a7af6d7d45c5fa99db1cd797feef80f4d8280f0","unresolved":true,"context_lines":[{"line_number":156,"context_line":"        # If old_cidrs is \"\", it is create event,"},{"line_number":157,"context_line":"        # nothing needs to be done."},{"line_number":158,"context_line":"        # If old_cidrs equals new_cidrs, the ip does not change."},{"line_number":159,"context_line":"        if old_cidrs not in (\"\", new_cidrs):"},{"line_number":160,"context_line":"            self._log_msg \u003d ("},{"line_number":161,"context_line":"                \"Metadata Port %s in datapath %s updated\")"},{"line_number":162,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":3,"id":"dffb7411_97190ae1","side":"PARENT","line":159,"range":{"start_line":159,"start_character":8,"end_line":159,"end_character":44},"in_reply_to":"764bc43f_74d4ecaf","updated":"2023-12-01 11:00:43.000000000","message":"Yes, I think it can be tested in functional tests in module neutron/tests/functional/agent/ovn/metadata/test_metadata_agent.py","commit_id":"56172ed5aef07d278e0f9cd6bcd5164f3f0ffa49"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"7aa2156bad13e90ddc769c980aa2006302895f3c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        # If old_cidrs is \"\", it is create event,"},{"line_number":157,"context_line":"        # nothing needs to be done."},{"line_number":158,"context_line":"        # If old_cidrs equals new_cidrs, the ip does not change."},{"line_number":159,"context_line":"        if old_cidrs not in (\"\", new_cidrs):"},{"line_number":160,"context_line":"            self._log_msg \u003d ("},{"line_number":161,"context_line":"                \"Metadata Port %s in datapath %s updated\")"},{"line_number":162,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":3,"id":"d89f96cb_ef611785","side":"PARENT","line":159,"range":{"start_line":159,"start_character":8,"end_line":159,"end_character":44},"in_reply_to":"dffb7411_97190ae1","updated":"2023-12-11 02:38:11.000000000","message":"Done","commit_id":"56172ed5aef07d278e0f9cd6bcd5164f3f0ffa49"}],"neutron/tests/functional/agent/ovn/metadata/test_metadata_agent.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ecebe9fa9c8b856604f02d46b07d11f89a69bbb7","unresolved":true,"context_lines":[{"line_number":70,"context_line":"        )"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"class WaitForPortBindingUpdateEvent(event.WaitEvent):"},{"line_number":74,"context_line":"    event_name \u003d \u0027WaitForPortBindingUpdateEvent\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def __init__(self, port, timeout\u003d5):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ad8ee480_17f3fca8","line":73,"updated":"2023-12-18 16:02:24.000000000","message":"There already is a class that you can use: https://opendev.org/openstack/neutron/src/commit/ef3089547b5d5d141a0432f43172e9211bbe2118/neutron/tests/functional/resources/ovsdb/events.py#L56","commit_id":"340414dc81d7c654671e708d219136e1230a1762"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"19efbaaa6ecccb8d1fb67affc688cf14c6391494","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        )"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"class WaitForPortBindingUpdateEvent(event.WaitEvent):"},{"line_number":74,"context_line":"    event_name \u003d \u0027WaitForPortBindingUpdateEvent\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def __init__(self, port, timeout\u003d5):"}],"source_content_type":"text/x-python","patch_set":4,"id":"b78ce949_6232c109","line":73,"in_reply_to":"ad8ee480_17f3fca8","updated":"2023-12-27 06:19:22.000000000","message":"Done","commit_id":"340414dc81d7c654671e708d219136e1230a1762"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2909731b1c66c3d69ac89e15fa9b16f14ecf346a","unresolved":true,"context_lines":[{"line_number":366,"context_line":"                    \"Datapath provisioning not called after external ids was \""},{"line_number":367,"context_line":"                    \"changed\"))"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def test_agent_metadata_port_dhcp_reenable_event(self):"},{"line_number":370,"context_line":"        # Test the Port_Binding update event triggered by reenable DHCP after"},{"line_number":371,"context_line":"        # disable DHCP on the subnet where the metadata\u0027s port is located."},{"line_number":372,"context_line":"        lswitch_name \u003d \u0027ovn-\u0027 + uuidutils.generate_uuid()"}],"source_content_type":"text/x-python","patch_set":4,"id":"60709881_130fa521","line":369,"range":{"start_line":369,"start_character":8,"end_line":369,"end_character":52},"updated":"2023-12-04 08:47:36.000000000","message":"This is a copy of \"test_agent_metadata_port_ip_update_event\". This test is not actually testing the transition from dhcp disabled to enabled.","commit_id":"340414dc81d7c654671e708d219136e1230a1762"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"7aa2156bad13e90ddc769c980aa2006302895f3c","unresolved":false,"context_lines":[{"line_number":366,"context_line":"                    \"Datapath provisioning not called after external ids was \""},{"line_number":367,"context_line":"                    \"changed\"))"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def test_agent_metadata_port_dhcp_reenable_event(self):"},{"line_number":370,"context_line":"        # Test the Port_Binding update event triggered by reenable DHCP after"},{"line_number":371,"context_line":"        # disable DHCP on the subnet where the metadata\u0027s port is located."},{"line_number":372,"context_line":"        lswitch_name \u003d \u0027ovn-\u0027 + uuidutils.generate_uuid()"}],"source_content_type":"text/x-python","patch_set":4,"id":"64c5b40d_1ffe6782","line":369,"range":{"start_line":369,"start_character":8,"end_line":369,"end_character":52},"in_reply_to":"1c1b9cd0_9a6ce0d3","updated":"2023-12-11 02:38:11.000000000","message":"Done","commit_id":"340414dc81d7c654671e708d219136e1230a1762"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"2b8db127d056a50e5a85c991ae56423cd68fa34a","unresolved":true,"context_lines":[{"line_number":366,"context_line":"                    \"Datapath provisioning not called after external ids was \""},{"line_number":367,"context_line":"                    \"changed\"))"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def test_agent_metadata_port_dhcp_reenable_event(self):"},{"line_number":370,"context_line":"        # Test the Port_Binding update event triggered by reenable DHCP after"},{"line_number":371,"context_line":"        # disable DHCP on the subnet where the metadata\u0027s port is located."},{"line_number":372,"context_line":"        lswitch_name \u003d \u0027ovn-\u0027 + uuidutils.generate_uuid()"}],"source_content_type":"text/x-python","patch_set":4,"id":"1c1b9cd0_9a6ce0d3","line":369,"range":{"start_line":369,"start_character":8,"end_line":369,"end_character":52},"in_reply_to":"60709881_130fa521","updated":"2023-12-04 09:52:23.000000000","message":"Just test the neutron:cidr update from \"\" to \"xx.xx.xx.xx/xx\".","commit_id":"340414dc81d7c654671e708d219136e1230a1762"}]}
