)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"58c217f22e5f022fa49607e39f2277140c8f1196","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5ca3a099_0aeede23","updated":"2023-02-21 08:01:44.000000000","message":"recheck - unrelated ssh failure","commit_id":"1904f22fdd2e4517abaca4af642f271eef44dc02"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c37582ffbaa8d4cf0590ae0ec165a99ca923e1dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f55872c0_06fbeeea","updated":"2023-02-28 12:12:35.000000000","message":"Is this still needed if we will have https://review.opendev.org/c/openstack/neutron/+/875586 ?","commit_id":"5b9ea3376f4459921808a827ac1dedf02d318ab6"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"5c4b20c582c6f0e0d3eb571ca817205c6551f9fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"56009f53_c8da4809","in_reply_to":"f55872c0_06fbeeea","updated":"2023-02-28 14:35:30.000000000","message":"Its not needed but I think its good to have. I think its better for the agent to handle empty MAC column(for whatever unlikely reason) than throw an index error exception and break the agent process.","commit_id":"5b9ea3376f4459921808a827ac1dedf02d318ab6"}],"neutron/agent/ovn/metadata/agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"11a9ed1e9c9111b755b3a63c7c816bdf3525cd91","unresolved":true,"context_lines":[{"line_number":466,"context_line":"    def _get_port_ips(self, port):"},{"line_number":467,"context_line":"        # Retrieve IPs from the port mac column which is in form"},{"line_number":468,"context_line":"        # [\"\u003cport_mac\u003e \u003cip1\u003e \u003cip2\u003e ... \u003cipN\u003e\"]"},{"line_number":469,"context_line":"        if port.mac:"},{"line_number":470,"context_line":"            mac_field_attrs \u003d port.mac[0].split()"},{"line_number":471,"context_line":"            ips \u003d mac_field_attrs[1:]"},{"line_number":472,"context_line":"            if not ips:"}],"source_content_type":"text/x-python","patch_set":2,"id":"c92d7e7a_040a6865","line":469,"updated":"2023-02-22 23:33:19.000000000","message":"nit: would have been less churn testing the negative:\n\nif not port.mac:\n    LOG\n    return []","commit_id":"1904f22fdd2e4517abaca4af642f271eef44dc02"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"04bea9a234bf7207ba233e64e9cbd449a658fbd2","unresolved":false,"context_lines":[{"line_number":466,"context_line":"    def _get_port_ips(self, port):"},{"line_number":467,"context_line":"        # Retrieve IPs from the port mac column which is in form"},{"line_number":468,"context_line":"        # [\"\u003cport_mac\u003e \u003cip1\u003e \u003cip2\u003e ... \u003cipN\u003e\"]"},{"line_number":469,"context_line":"        if port.mac:"},{"line_number":470,"context_line":"            mac_field_attrs \u003d port.mac[0].split()"},{"line_number":471,"context_line":"            ips \u003d mac_field_attrs[1:]"},{"line_number":472,"context_line":"            if not ips:"}],"source_content_type":"text/x-python","patch_set":2,"id":"581d27f5_1b3ec698","line":469,"in_reply_to":"c92d7e7a_040a6865","updated":"2023-02-28 03:48:37.000000000","message":"Done","commit_id":"1904f22fdd2e4517abaca4af642f271eef44dc02"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"76e4ac1a992fe710f23102af32fb5906919ef93b","unresolved":true,"context_lines":[{"line_number":475,"context_line":"                          mac_field_attrs)"},{"line_number":476,"context_line":"                return []"},{"line_number":477,"context_line":"            return ips"},{"line_number":478,"context_line":"        LOG.debug(\"Port %s mac column is empty, cant retrieve IP addresses\","},{"line_number":479,"context_line":"                  port.uuid)"},{"line_number":480,"context_line":"        return []"},{"line_number":481,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"2383aeba_296106f3","line":478,"range":{"start_line":478,"start_character":12,"end_line":478,"end_character":17},"updated":"2023-02-21 10:49:21.000000000","message":"perhaps warning instead?","commit_id":"1904f22fdd2e4517abaca4af642f271eef44dc02"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"11a9ed1e9c9111b755b3a63c7c816bdf3525cd91","unresolved":true,"context_lines":[{"line_number":475,"context_line":"                          mac_field_attrs)"},{"line_number":476,"context_line":"                return []"},{"line_number":477,"context_line":"            return ips"},{"line_number":478,"context_line":"        LOG.debug(\"Port %s mac column is empty, cant retrieve IP addresses\","},{"line_number":479,"context_line":"                  port.uuid)"},{"line_number":480,"context_line":"        return []"},{"line_number":481,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"76e87946_0239dbe6","line":478,"range":{"start_line":478,"start_character":12,"end_line":478,"end_character":17},"in_reply_to":"2383aeba_296106f3","updated":"2023-02-22 23:33:19.000000000","message":"s/mac/MAC and s/cant/cannot\n\nI guess I would agree since the commit message says it basically can\u0027t happen. Was it just a test that triggered a failure here or ?","commit_id":"1904f22fdd2e4517abaca4af642f271eef44dc02"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"04bea9a234bf7207ba233e64e9cbd449a658fbd2","unresolved":false,"context_lines":[{"line_number":475,"context_line":"                          mac_field_attrs)"},{"line_number":476,"context_line":"                return []"},{"line_number":477,"context_line":"            return ips"},{"line_number":478,"context_line":"        LOG.debug(\"Port %s mac column is empty, cant retrieve IP addresses\","},{"line_number":479,"context_line":"                  port.uuid)"},{"line_number":480,"context_line":"        return []"},{"line_number":481,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7fd80107_0fb4b51e","line":478,"range":{"start_line":478,"start_character":12,"end_line":478,"end_character":17},"in_reply_to":"76e87946_0239dbe6","updated":"2023-02-28 03:48:37.000000000","message":"Yes. It showed up in one of Red Hat downstream test failure. The test port was not creating the MAC column and this code was raising out of index error. This should not happen in the real world. However, in order to improve everything I figured that it would be nice to have \"safe MAC access\" in the agent code and fix the test upstream which was not running into this problem (see [1] description on why)\n\n[1]\nhttps://review.opendev.org/c/openstack/neutron/+/875586/1/neutron/tests/functional/agent/ovn/metadata/test_metadata_agent.py#197","commit_id":"1904f22fdd2e4517abaca4af642f271eef44dc02"}]}
