)]}'
{"neutron/services/pvlan/drivers/ovn/driver.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cc5b95e03cd377fdf5eb90cc228aec786582d3a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"import functools"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import tenacity"},{"line_number":16,"context_line":"from neutron_lib.callbacks import events"},{"line_number":17,"context_line":"from neutron_lib.callbacks import registry"},{"line_number":18,"context_line":"from neutron_lib.callbacks import resources"},{"line_number":19,"context_line":"from neutron_lib.services.pvlan import constants as pvlan_const"}],"source_content_type":"text/x-python","patch_set":1,"id":"118489ab_6f03481d","line":16,"updated":"2026-09-01 10:33:26.000000000","message":"pep8: H306: imports not in alphabetical order (tenacity, neutron_lib.callbacks.events)","commit_id":"0509ca28ac589dbbab68b5f6fb0c0f6fb436862b"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e53c7a9db4f53c3eafa6bcb6aeaffdc115d597f1","unresolved":true,"context_lines":[{"line_number":80,"context_line":"    pg_name \u003d DROP_PORT_GROUP_NAME"},{"line_number":81,"context_line":"    command \u003d ["},{"line_number":82,"context_line":"        \"OVN_Northbound\", {"},{"line_number":83,"context_line":"            \"op\": \"wait\","},{"line_number":84,"context_line":"            \"timeout\": 0,"},{"line_number":85,"context_line":"            \"table\": \"Port_Group\","},{"line_number":86,"context_line":"            \"where\": [[\"name\", \"\u003d\u003d\", pg_name]],"},{"line_number":87,"context_line":"            \"until\": \"\u003d\u003d\","},{"line_number":88,"context_line":"            \"rows\": []"},{"line_number":89,"context_line":"        }, {"},{"line_number":90,"context_line":"            \"op\": \"insert\","},{"line_number":91,"context_line":"            \"table\": \"ACL\","}],"source_content_type":"text/x-python","patch_set":2,"id":"09e5ce39_3f0f90e9","line":88,"range":{"start_line":83,"start_character":0,"end_line":88,"end_character":22},"updated":"2026-09-01 17:37:11.000000000","message":"I don\u0027t think this patch is needed. In case there are two concurrent workers sending the same, this should return immediately for one of the workers while the other creates the PG entry.","commit_id":"e30e498de2b0a4361c4428244a4f8f305a1141e1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"92de985bae5b0a662293c23719df953fc38e64d4","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    pg_name \u003d DROP_PORT_GROUP_NAME"},{"line_number":81,"context_line":"    command \u003d ["},{"line_number":82,"context_line":"        \"OVN_Northbound\", {"},{"line_number":83,"context_line":"            \"op\": \"wait\","},{"line_number":84,"context_line":"            \"timeout\": 0,"},{"line_number":85,"context_line":"            \"table\": \"Port_Group\","},{"line_number":86,"context_line":"            \"where\": [[\"name\", \"\u003d\u003d\", pg_name]],"},{"line_number":87,"context_line":"            \"until\": \"\u003d\u003d\","},{"line_number":88,"context_line":"            \"rows\": []"},{"line_number":89,"context_line":"        }, {"},{"line_number":90,"context_line":"            \"op\": \"insert\","},{"line_number":91,"context_line":"            \"table\": \"ACL\","}],"source_content_type":"text/x-python","patch_set":2,"id":"cb003d42_8de80367","line":88,"range":{"start_line":83,"start_character":0,"end_line":88,"end_character":22},"in_reply_to":"05057e36_af2304ff","updated":"2026-09-02 06:13:16.000000000","message":"Well, not executed once but it ensures idempotency, that is what matters here.","commit_id":"e30e498de2b0a4361c4428244a4f8f305a1141e1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"92de985bae5b0a662293c23719df953fc38e64d4","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    pg_name \u003d DROP_PORT_GROUP_NAME"},{"line_number":81,"context_line":"    command \u003d ["},{"line_number":82,"context_line":"        \"OVN_Northbound\", {"},{"line_number":83,"context_line":"            \"op\": \"wait\","},{"line_number":84,"context_line":"            \"timeout\": 0,"},{"line_number":85,"context_line":"            \"table\": \"Port_Group\","},{"line_number":86,"context_line":"            \"where\": [[\"name\", \"\u003d\u003d\", pg_name]],"},{"line_number":87,"context_line":"            \"until\": \"\u003d\u003d\","},{"line_number":88,"context_line":"            \"rows\": []"},{"line_number":89,"context_line":"        }, {"},{"line_number":90,"context_line":"            \"op\": \"insert\","},{"line_number":91,"context_line":"            \"table\": \"ACL\","}],"source_content_type":"text/x-python","patch_set":2,"id":"e823fe34_e13eeacb","line":88,"range":{"start_line":83,"start_character":0,"end_line":88,"end_character":22},"in_reply_to":"05057e36_af2304ff","updated":"2026-09-02 06:13:16.000000000","message":"Well, not executed once but it ensures idempotency, that is what matters here.","commit_id":"e30e498de2b0a4361c4428244a4f8f305a1141e1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"993fd9445bd98dbe82cf2fc52b1e4c17b6d740eb","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    pg_name \u003d DROP_PORT_GROUP_NAME"},{"line_number":81,"context_line":"    command \u003d ["},{"line_number":82,"context_line":"        \"OVN_Northbound\", {"},{"line_number":83,"context_line":"            \"op\": \"wait\","},{"line_number":84,"context_line":"            \"timeout\": 0,"},{"line_number":85,"context_line":"            \"table\": \"Port_Group\","},{"line_number":86,"context_line":"            \"where\": [[\"name\", \"\u003d\u003d\", pg_name]],"},{"line_number":87,"context_line":"            \"until\": \"\u003d\u003d\","},{"line_number":88,"context_line":"            \"rows\": []"},{"line_number":89,"context_line":"        }, {"},{"line_number":90,"context_line":"            \"op\": \"insert\","},{"line_number":91,"context_line":"            \"table\": \"ACL\","}],"source_content_type":"text/x-python","patch_set":2,"id":"05057e36_af2304ff","line":88,"range":{"start_line":83,"start_character":0,"end_line":88,"end_character":22},"in_reply_to":"09e5ce39_3f0f90e9","updated":"2026-09-02 05:51:06.000000000","message":"I know this command is executed only once due to this condition, but is wrong to send it from all the API workers and all the servers. It is fine if 3 servers send it at the same time from 1 worker each, but there is no need to send it from all the workers.\n\nThis is just an optimization.","commit_id":"e30e498de2b0a4361c4428244a4f8f305a1141e1"}]}
