)]}'
{"id":"openstack%2Fneutron~974873","triplet_id":"openstack%2Fneutron~stable%2F2025.2~I1434700928779577073d1369c0a2983a4076cc0e","project":"openstack/neutron","branch":"stable/2025.2","topic":"bug/2138430-stable/2025.2","attention_set":{},"removed_from_attention_set":{"32288":{"account":{"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"},"last_update":"2026-01-27 16:24:53.000000000","reason":"\u003cGERRIT_ACCOUNT_32288\u003e replied on the change","reason_account":{"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"}},"11975":{"account":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"last_update":"2026-01-28 12:05:50.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I1434700928779577073d1369c0a2983a4076cc0e","subject":"ovn_db_sync: Improve coexistence support.","status":"MERGED","created":"2026-01-27 14:55:20.000000000","updated":"2026-01-28 12:07:00.000000000","submitted":"2026-01-28 12:05:50.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"974873-bug/2138430-stable/2025.2","meta_rev_id":"000f3be031df34d83690a5cb651d6233ca7eafc0","_number":974873,"virtual_id_number":974873,"owner":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"},{"value":0,"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-01-28 12:05:50.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"recommended":{"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"},"all":[{"value":1,"date":"2026-01-27 16:24:53.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"},{"value":2,"date":"2026-01-28 09:57:42.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":2,"date":"2026-01-27 22:21:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"all":[{"value":0,"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"},{"value":1,"date":"2026-01-28 09:57:42.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"},{"value":0,"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-01-27 14:55:20.000000000","updated_by":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"reviewer":{"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"},"state":"REVIEWER"},{"updated":"2026-01-27 17:20:53.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-01-27 22:21:25.000000000","updated_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"reviewer":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"state":"REVIEWER"},{"updated":"2026-01-28 09:57:42.000000000","updated_by":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"reviewer":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"state":"REVIEWER"}],"messages":[{"id":"a68e01de3f00b3b4f5f25d5f8650c8be0e2f476d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2026-01-27 14:55:20.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ef1dc40d8f7d8f186129fa5c67b340d4f8c71594","author":{"_account_id":32288,"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","username":"martin.kalcok"},"date":"2026-01-27 16:24:53.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"5060d8160c5bcf5d2628dc1af1204ba3bb6e0368","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-27 17:20:53.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f2325fa38f4b453bbe66736db289fe5e\n\n- neutron-tempest-plugin-ovn-2025-2 https://zuul.opendev.org/t/openstack/build/aee75001b5894436ad19f8686f3cf060 : SUCCESS in 2h 24m 07s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a9177856acb7410fb0f48d473dddf773 : SUCCESS in 42m 35s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/050297cf43f5418196dda0f30c2434d0 : SUCCESS in 14m 21s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/e99c641dee2a4877be16ed777b7d4ab1 : SUCCESS in 20m 50s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/ad43334ac72041d18466a275be2d63fb : SUCCESS in 21m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7b855e5e3cdd4e9e8014fd69994677e7 : SUCCESS in 22m 05s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b9c7726eefdd4ebb8c3b21f58f1df1f5 : SUCCESS in 9m 57s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/e5a6dd62c4964cc99d188118006d8f61 : SUCCESS in 1h 50m 55s\n- neutron-ovn-grenade-multinode https://zuul.opendev.org/t/openstack/build/c03c5964bdc74c1a8fc1aecc8211d287 : SUCCESS in 47m 57s\n- neutron-ovn-tempest-ipv6-only-ovs-release https://zuul.opendev.org/t/openstack/build/b12da0760b1f4cbea063a2842de36fa8 : SUCCESS in 1h 03m 01s\n- neutron-ovn-rally-task https://zuul.opendev.org/t/openstack/build/7139d8cc48474db6a9caf48e298980ef : SUCCESS in 48m 15s\n- tempest-integrated-networking https://zuul.opendev.org/t/openstack/build/473ff128178b4827ad1c060de6f699af : SUCCESS in 1h 11m 16s","accounts_in_message":[],"_revision_number":1},{"id":"4673e1668d7e3f25f9b7ad4c51f0035b3de6c857","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-27 21:12:14.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a9696d7b8c0b42f6a35c02e155a76881\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/ecac95311d514e23a0c16178f9a14a9c : SUCCESS in 34m 21s\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/4bd7e630039347b99d085a8857b5608b : SUCCESS in 33m 22s\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/5d5b8e44e43f46029db39aea03f4eb55 : SUCCESS in 42m 25s","accounts_in_message":[],"_revision_number":1},{"id":"7587d74d2591fe0bf9e16c1ab78cae6604e852a8","author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"date":"2026-01-27 22:21:25.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"5c340f210890dbb0c4dd44b1eaa0b9f168e7f33a","author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"date":"2026-01-28 09:57:42.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"46092467b5e00712802999656498f640ee323073","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-28 09:58:07.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"a5b443f58cf422dac168d0bdc12d75cfcf5d8af7","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-28 12:05:50.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f8ca3e342dac45c7ae41299175a0f9e3\n\n- neutron-tempest-plugin-ovn-2025-2 https://zuul.opendev.org/t/openstack/build/5c2b3e9c03c24d069784fc4d13447d6a : SUCCESS in 2h 07m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c066c8cb6e9c4a23b8d572a4b5fea887 : SUCCESS in 12m 52s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/b74107e769e1441cb7ef72cb63d50867 : SUCCESS in 21m 01s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/226a862a8a374067b5eb4ae056a71526 : SUCCESS in 19m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b664208124ff4a19bbeebba4d174b454 : SUCCESS in 11m 26s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/21a13984cd864ffea6826a29cd59a7c7 : SUCCESS in 1h 39m 15s\n- neutron-ovn-grenade-multinode https://zuul.opendev.org/t/openstack/build/1fad851304414e25a24a114d7b618f34 : SUCCESS in 1h 11m 51s\n- neutron-ovn-tempest-ipv6-only-ovs-release https://zuul.opendev.org/t/openstack/build/85a803beb313410682960c37e7ddf894 : SUCCESS in 1h 04m 00s\n- tempest-integrated-networking https://zuul.opendev.org/t/openstack/build/ca774737a86241459b2ddcfd24d75365 : SUCCESS in 1h 25m 40s","accounts_in_message":[],"_revision_number":1},{"id":"ee517d54109e81f53bd01614cecc9018afa7f8fa","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-28 12:05:50.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"000f3be031df34d83690a5cb651d6233ca7eafc0","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-28 12:07:00.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/87bd412bb2834ec2b76f18780c4873ee\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/28faf1914e2d436182585fb39bde2778 : SUCCESS in 59s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"8b7353cdedf4fc4cd651c5cba94f109f13033694","revisions":{"8b7353cdedf4fc4cd651c5cba94f109f13033694":{"kind":"REWORK","_number":1,"created":"2026-01-27 14:55:20.000000000","uploader":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"ref":"refs/changes/73/974873/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/neutron","ref":"refs/changes/73/974873/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/neutron refs/changes/73/974873/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/neutron refs/changes/73/974873/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/neutron refs/changes/73/974873/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/neutron refs/changes/73/974873/1"}}},"commit":{"parents":[{"commit":"bded65e2bb5a095e3228a127b712d4f26d77a394","subject":"Make sure OVN PG is present before adding a SG rule","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/bded65e2bb5a095e3228a127b712d4f26d77a394"}]}],"author":{"name":"Martin Kalcok","email":"martin.kalcok@canonical.com","date":"2025-08-27 17:17:04.000000000","tz":120},"committer":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2026-01-27 14:39:51.000000000","tz":60},"subject":"ovn_db_sync: Improve coexistence support.","message":"ovn_db_sync: Improve coexistence support.\n\nneutron-ovn-db-sync-util synchronizes content between neutron\u0027s\ndatabase and OVN NB/SB databases. As a side-effect, it can sometimes\nremove resources from OVN database that were not meant for neutron to\nmanage. Coexistence support [0] aims to avoid these scenarios.\n\nThe ovn_db_sync script already tries to avoid these unwanted removals\nby checking for presence of well known neutron external_ids for\nresources like \"Logical Switch\" and \"Logical Switch Port\" [1].\n\nThis change adds similar checks for:\n* Logical Router Port\n* Static Route\n* Port Group\n\nNAT rules are still missing the check because they don\u0027t have\n\"neutron:\" external_ids to check.\n\nIn addition to the ovn_db_sync script, there is a \u0027maintenance\u0027 process\nthat periodically updates OVN resources. This change also update its\nmethods to not alter resources not owned by the neutron.\n\n[0] https://specs.openstack.org/openstack/neutron-specs/specs/2024.1/ml2ovn-coexistence-support-ovn-ext-resources.html\n[1] https://opendev.org/openstack/neutron/src/commit/f9067a719084710ee4f46fa31edb6a938e0dbbb0/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py#L308-L316\n\nCloses-bug: #2027742\nChange-Id: I1434700928779577073d1369c0a2983a4076cc0e\nSigned-off-by: Martin Kalcok \u003cmartin.kalcok@canonical.com\u003e\n(cherry picked from commit ff57491a976e0a8b4945f7dd55096370c744c76a)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/8b7353cdedf4fc4cd651c5cba94f109f13033694"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/8b7353cdedf4fc4cd651c5cba94f109f13033694"}]},"branch":"refs/heads/stable/2025.2"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
