)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"3026d0a20b7f54e7c55e92eb18c6d03c7c6133a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7fc845fe_20f4afca","updated":"2025-02-04 14:04:55.000000000","message":"bump. I would like to get this change in before epoxy is released. thank you for your time","commit_id":"5b075736c0a22621e8c738a11eca9280ec55cc12"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"8f459f7c9af7f4bc05a19fc4ad9112059d0df6ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"94fdaeae_dd587160","updated":"2025-02-25 02:01:11.000000000","message":"recheck unrelated failure \"Cannot find Port_Binding in test_pb_type_empty test\"","commit_id":"e2a37ea81d0e33f4925fafa4973ec66f840a399a"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"e6588457231bfabafd8356430e047435a5fc589a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"aba20fe6_b266bb99","updated":"2025-03-17 14:30:40.000000000","message":"recheck unrelated failure","commit_id":"8791542051c2d5c6383ee24df773c83e336dad92"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"0a4c6a0c6ed2851076e1a4456958a6a28e1bcbcd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b5a19bbd_d0f5da34","updated":"2025-04-08 00:43:56.000000000","message":"recheck unrelated failure","commit_id":"8791542051c2d5c6383ee24df773c83e336dad92"}],"neutron/agent/ovn/metadata/agent.py":[{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"b10cd9652067289bded0a7ba91f3f115ef236bcd","unresolved":true,"context_lines":[{"line_number":619,"context_line":"        # Retrieve IPv4 addresses from the port external_ids column under the"},{"line_number":620,"context_line":"        # neutron:cidrs key."},{"line_number":621,"context_line":"        # Also return True if the port has at least one IPv6 address"},{"line_number":622,"context_line":"        if \u0027neutron:cidrs\u0027 not in port.external_ids:"},{"line_number":623,"context_line":"            LOG.warning(\"Port %s external_ids column does not contain \""},{"line_number":624,"context_line":"                        \"neutron:cidrs key to retreive \""},{"line_number":625,"context_line":"                        \"IPs addresses\", port.uuid)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4682d77f_9da76e89","line":622,"range":{"start_line":622,"start_character":12,"end_line":622,"end_character":19},"updated":"2025-01-09 04:16:13.000000000","message":"note to self: use existing constant\nhttps://opendev.org/openstack/neutron/src/branch/master/neutron/common/ovn/constants.py#L44","commit_id":"fc96d7c4eb5c54e6f2b4e247f35cd1628ddbfff1"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"7b1d823f19d545e1e0048b6aae6fbc99a8d9cd81","unresolved":false,"context_lines":[{"line_number":619,"context_line":"        # Retrieve IPv4 addresses from the port external_ids column under the"},{"line_number":620,"context_line":"        # neutron:cidrs key."},{"line_number":621,"context_line":"        # Also return True if the port has at least one IPv6 address"},{"line_number":622,"context_line":"        if \u0027neutron:cidrs\u0027 not in port.external_ids:"},{"line_number":623,"context_line":"            LOG.warning(\"Port %s external_ids column does not contain \""},{"line_number":624,"context_line":"                        \"neutron:cidrs key to retreive \""},{"line_number":625,"context_line":"                        \"IPs addresses\", port.uuid)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d804d6a5_ba712053","line":622,"range":{"start_line":622,"start_character":12,"end_line":622,"end_character":19},"in_reply_to":"4682d77f_9da76e89","updated":"2025-01-11 03:20:23.000000000","message":"Done","commit_id":"fc96d7c4eb5c54e6f2b4e247f35cd1628ddbfff1"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5d9c47f1e9ab3e2f77f2998a378229fedae8d83d","unresolved":true,"context_lines":[{"line_number":622,"context_line":"        if ovn_const.OVN_CIDRS_EXT_ID_KEY not in port.external_ids:"},{"line_number":623,"context_line":"            LOG.warning(\"Port %s external_ids column does not contain \""},{"line_number":624,"context_line":"                        \"neutron:cidrs key to retreive \""},{"line_number":625,"context_line":"                        \"IPs addresses\", port.uuid)"},{"line_number":626,"context_line":"            return []"},{"line_number":627,"context_line":"        cidrs \u003d port.external_ids[ovn_const.OVN_CIDRS_EXT_ID_KEY].split()"},{"line_number":628,"context_line":"        if not cidrs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"8e8611e0_1aba58ae","line":625,"range":{"start_line":625,"start_character":25,"end_line":625,"end_character":28},"updated":"2025-02-07 21:24:59.000000000","message":"s/IP","commit_id":"5b075736c0a22621e8c738a11eca9280ec55cc12"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"682e82e907c6d15b8f42a2557fd1d8126ee2d341","unresolved":false,"context_lines":[{"line_number":622,"context_line":"        if ovn_const.OVN_CIDRS_EXT_ID_KEY not in port.external_ids:"},{"line_number":623,"context_line":"            LOG.warning(\"Port %s external_ids column does not contain \""},{"line_number":624,"context_line":"                        \"neutron:cidrs key to retreive \""},{"line_number":625,"context_line":"                        \"IPs addresses\", port.uuid)"},{"line_number":626,"context_line":"            return []"},{"line_number":627,"context_line":"        cidrs \u003d port.external_ids[ovn_const.OVN_CIDRS_EXT_ID_KEY].split()"},{"line_number":628,"context_line":"        if not cidrs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ad3756cb_f3719128","line":625,"range":{"start_line":625,"start_character":25,"end_line":625,"end_character":28},"in_reply_to":"8e8611e0_1aba58ae","updated":"2025-02-13 14:54:26.000000000","message":"Done","commit_id":"5b075736c0a22621e8c738a11eca9280ec55cc12"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5d9c47f1e9ab3e2f77f2998a378229fedae8d83d","unresolved":true,"context_lines":[{"line_number":626,"context_line":"            return []"},{"line_number":627,"context_line":"        cidrs \u003d port.external_ids[ovn_const.OVN_CIDRS_EXT_ID_KEY].split()"},{"line_number":628,"context_line":"        if not cidrs:"},{"line_number":629,"context_line":"            LOG.debug(\"Port %s Port_Binding external_ids column under the key \""},{"line_number":630,"context_line":"                      \"neutron:cidrs is empty\", port.uuid)"},{"line_number":631,"context_line":"        ip4_ips \u003d []"},{"line_number":632,"context_line":"        any_ip6 \u003d False"},{"line_number":633,"context_line":"        for cidr in cidrs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a457db0_0116627d","line":630,"range":{"start_line":629,"start_character":64,"end_line":630,"end_character":45},"updated":"2025-02-07 21:24:59.000000000","message":"nit: I think the ending here could just be generic:\n\ns/contains no cidrs","commit_id":"5b075736c0a22621e8c738a11eca9280ec55cc12"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"682e82e907c6d15b8f42a2557fd1d8126ee2d341","unresolved":false,"context_lines":[{"line_number":626,"context_line":"            return []"},{"line_number":627,"context_line":"        cidrs \u003d port.external_ids[ovn_const.OVN_CIDRS_EXT_ID_KEY].split()"},{"line_number":628,"context_line":"        if not cidrs:"},{"line_number":629,"context_line":"            LOG.debug(\"Port %s Port_Binding external_ids column under the key \""},{"line_number":630,"context_line":"                      \"neutron:cidrs is empty\", port.uuid)"},{"line_number":631,"context_line":"        ip4_ips \u003d []"},{"line_number":632,"context_line":"        any_ip6 \u003d False"},{"line_number":633,"context_line":"        for cidr in cidrs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"c1fc548d_5c01b01d","line":630,"range":{"start_line":629,"start_character":64,"end_line":630,"end_character":45},"in_reply_to":"5a457db0_0116627d","updated":"2025-02-13 14:54:26.000000000","message":"Done","commit_id":"5b075736c0a22621e8c738a11eca9280ec55cc12"}],"neutron/tests/functional/agent/ovn/metadata/test_metadata_agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0f94dc835663f840d11b2aa90d0c8a43ac2b0feb","unresolved":true,"context_lines":[{"line_number":191,"context_line":"        lswitch_port_columns \u003d {}"},{"line_number":192,"context_line":"        if ip:"},{"line_number":193,"context_line":"            lswitch_port_columns[\u0027external_ids\u0027] \u003d {"},{"line_number":194,"context_line":"                ovn_const.OVN_CIDRS_EXT_ID_KEY: f\u0027{ip}/32\u0027"},{"line_number":195,"context_line":"            }"},{"line_number":196,"context_line":"        if type_:"},{"line_number":197,"context_line":"            lswitch_port_columns[\u0027type\u0027] \u003d type_"}],"source_content_type":"text/x-python","patch_set":5,"id":"11d1ecc4_494a156d","line":194,"range":{"start_line":194,"start_character":54,"end_line":194,"end_character":57},"updated":"2025-05-06 01:57:33.000000000","message":"I would put the /32 in the caller since this could be an IPv6 address, even if no test is passing it.","commit_id":"8791542051c2d5c6383ee24df773c83e336dad92"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0f94dc835663f840d11b2aa90d0c8a43ac2b0feb","unresolved":true,"context_lines":[{"line_number":220,"context_line":"        # metadata port external_ids: { neutron:cidrs }. This is because agent"},{"line_number":221,"context_line":"        # will only trigger if the logical port is part of a neutron subnet"},{"line_number":222,"context_line":"        lswitchport_name, _ \u003d self._create_logical_switch_port("},{"line_number":223,"context_line":"            ip\u003d\u0027192.168.122.125\u0027"},{"line_number":224,"context_line":"        )"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # Trigger PortBindingChassisCreatedEvent"}],"source_content_type":"text/x-python","patch_set":5,"id":"fb3e9d59_b6692102","line":223,"updated":"2025-05-06 01:57:33.000000000","message":"i.e. put /32 here, or should it be /24 ?","commit_id":"8791542051c2d5c6383ee24df773c83e336dad92"}],"neutron/tests/unit/agent/ovn/metadata/test_agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0f94dc835663f840d11b2aa90d0c8a43ac2b0feb","unresolved":true,"context_lines":[{"line_number":373,"context_line":"                                external_ids\u003d{\u0027name\u0027: f\u0027neutron-{network_id}\u0027})"},{"line_number":374,"context_line":"        datapath_ports \u003d [makePort(datapath,"},{"line_number":375,"context_line":"                                   external_ids\u003d{\u0027neutron:cidrs\u0027:"},{"line_number":376,"context_line":"                                                 f\u0027{port_ip}/32\u0027})]"},{"line_number":377,"context_line":"        metadadata_port \u003d makePort(datapath,"},{"line_number":378,"context_line":"                                   mac\u003d["},{"line_number":379,"context_line":"                                       f\u0027{metada_port_mac} 10.204.0.1\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"b71a46bf_d5c94f9e","line":376,"range":{"start_line":376,"start_character":60,"end_line":376,"end_character":63},"updated":"2025-05-06 01:57:33.000000000","message":"Same here since there is a caller passing an IPv6 address","commit_id":"8791542051c2d5c6383ee24df773c83e336dad92"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0f94dc835663f840d11b2aa90d0c8a43ac2b0feb","unresolved":true,"context_lines":[{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def test__get_provision_params_returns_provision_parameters(self):"},{"line_number":404,"context_line":"        self._test__get_provision_params_returns_provision_parameters("},{"line_number":405,"context_line":"            \u00271.2.3.4\u0027)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def test__get_provision_params_returns_provision_parameters_ipv6(self):"},{"line_number":408,"context_line":"        self._test__get_provision_params_returns_provision_parameters("}],"source_content_type":"text/x-python","patch_set":5,"id":"e76f9dc6_162d84f5","line":405,"updated":"2025-05-06 01:57:33.000000000","message":"/32 here, or should it be /24 ?","commit_id":"8791542051c2d5c6383ee24df773c83e336dad92"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0f94dc835663f840d11b2aa90d0c8a43ac2b0feb","unresolved":true,"context_lines":[{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def test__get_provision_params_returns_provision_parameters_ipv6(self):"},{"line_number":408,"context_line":"        self._test__get_provision_params_returns_provision_parameters("},{"line_number":409,"context_line":"            \u0027fe80::f816:3eff:feb6:c0c0\u0027)"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"    def test_provision_datapath(self):"},{"line_number":412,"context_line":"        \"\"\"Test datapath provisioning."}],"source_content_type":"text/x-python","patch_set":5,"id":"c710376b_8daeac2e","line":409,"updated":"2025-05-06 01:57:33.000000000","message":"and /64 here","commit_id":"8791542051c2d5c6383ee24df773c83e336dad92"}]}
