)]}'
{"id":"openstack%2Fnetworking-baremetal~980549","triplet_id":"openstack%2Fnetworking-baremetal~master~Ie397ceeb551d8891658eec58cd94d4cec2c52d69","project":"openstack/networking-baremetal","branch":"master","topic":"ironic-vxlan","attention_set":{},"removed_from_attention_set":{"24245":{"account":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"last_update":"2026-03-17 03:59:53.000000000","reason":"Change was submitted"}},"hashtags":["ironic-week-prio"],"change_id":"Ie397ceeb551d8891658eec58cd94d4cec2c52d69","subject":"Add targeted single-VLAN reconcile for OVN events","status":"MERGED","created":"2026-03-14 05:28:02.000000000","updated":"2026-03-17 04:00:44.000000000","submitted":"2026-03-17 03:59:53.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"980549-ironic-vxlan","meta_rev_id":"6acbed542cd90b1ba7c73edf3f7aff8ead6210c7","_number":980549,"virtual_id_number":980549,"owner":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-03-17 03:59:52.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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"all":[{"value":2,"date":"2026-03-16 21:40:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":2,"date":"2026-03-17 01:58:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"all":[{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":1,"date":"2026-03-17 01:58:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"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},"Backport-Candidate":{"all":[{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-14 06:55:21.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-03-16 21:40:24.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"},{"updated":"2026-03-17 01:58:07.000000000","updated_by":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"reviewer":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"state":"REVIEWER"}],"messages":[{"id":"b9f02a4cc663d527af39f181418c06678750d3f7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-03-14 05:28:02.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"47f06aeb07901867d6151c6c1196a809bb745a86","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-14 06:55:21.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c73e3ebc0c8c4dc1957277600bfe9f67\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c19826f007fc43b7bd533cb55dfaeafb : SUCCESS in 7m 30s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/5f6e0cbcc2744c31a7c87c437749d5b0 : SUCCESS in 2m 43s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/72b65e5a17b140f083261189df4754d0 : SUCCESS in 4m 33s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e7936545322c433496c6feda0bf8bfa9 : SUCCESS in 7m 43s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/079b5b1215584ef4b094ce2550c2877f : SUCCESS in 9m 28s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8258fe5ad584458f8eb80268c477d30a : SUCCESS in 2m 19s\n- networking-baremetal-multitenant-vlans https://zuul.opendev.org/t/openstack/build/d561568ae0844338bfdda31f3730ca11 : SUCCESS in 1h 24m 10s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/1eda9766b740475ebc5366053c670181 : SUCCESS in 32m 23s\n- networking-baremetal-ovn-geneve https://zuul.opendev.org/t/openstack/build/0eae5d3383c5400cae3a8095b278644a : SUCCESS in 32m 06s","accounts_in_message":[],"_revision_number":1},{"id":"3cdde7041bdebb19a29b3e5909110146174cdce6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-03-15 00:36:56.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"8aa7d110fb2c766ff86711508c01dfc4c00f4ea0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-15 02:13:18.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3f6df551a84547b292440712476ff242\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/63c8fe6d5c4f4dc1b9af54614539ee85 : SUCCESS in 5m 55s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/a186f11ff7b943aeb0726f03fd5d701f : SUCCESS in 4m 49s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/3ccc12c619514c79ba222327f3030bcf : SUCCESS in 5m 00s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/aeefbb4d953c429d9273dc0426d9171e : SUCCESS in 3m 59s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8bbdf039fb164831988c47cb5ea08e6e : SUCCESS in 4m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/67fb9046dd944c7493407cb3fa3bc619 : SUCCESS in 2m 17s\n- networking-baremetal-multitenant-vlans https://zuul.opendev.org/t/openstack/build/71d80f6d04154a25bf8084b155f40769 : SUCCESS in 1h 23m 42s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/a574f14f2a894003a5f983ec6f9bfd4c : SUCCESS in 48m 26s\n- networking-baremetal-ovn-geneve https://zuul.opendev.org/t/openstack/build/ba4f0641be5f49fe904940098175b687 : SUCCESS in 46m 26s","accounts_in_message":[],"_revision_number":2},{"id":"9705baba62d0d75d6898a18e1e7c5e1c58ec9883","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-03-15 23:20:09.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"f9460da276597d11f03b8b5c8f649668419c5077","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-15 23:58:49.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/14d028e23a6c46cdb6a901a1faf51676\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a9903c19aaf04a4ebd8a760c7292395c : SUCCESS in 5m 29s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/dc3e79f0f6d04bd0b6382fadea054fdb : FAILURE in 5m 02s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e7dc4f2a43fc494aaf8f9b3257f3e041 : FAILURE in 4m 08s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/5e213349d5674c3386be7e01fd1941f1 : FAILURE in 6m 29s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/08aed19487754730a45f99c6dde7161a : SUCCESS in 9m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a524f6dd135a4df9950f1b4a733d07ee : SUCCESS in 2m 39s\n- networking-baremetal-multitenant-vlans https://zuul.opendev.org/t/openstack/build/488ddad990c644c38d9950dbe29148a6 : FAILURE in 15m 55s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/13284b3122a74d4084c1a45c0d83d1d3 : FAILURE in 32m 54s\n- networking-baremetal-ovn-geneve https://zuul.opendev.org/t/openstack/build/d6af32711cdf42188548f07869f26385 : FAILURE in 13m 31s","accounts_in_message":[],"_revision_number":3},{"id":"73511f8c90779114da33d7ad7287aae5336e8c04","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-03-16 04:35:45.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":4},{"id":"fdb530705402e9621f7cbbc5c77770eea5cbab6b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-16 04:58:33.000000000","message":"Patch Set 4: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/09692d2a91694a5ba905475a679462f0\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1a42ecbd92c44093a132bedad8a21a3a : SUCCESS in 7m 23s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/60355ee41070458db2626aedb7172a21 : FAILURE in 4m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a6ee7376cde04f81842d6024dbdf1bc9 : FAILURE in 4m 11s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/1026f9a8c49a4024852bd02b4cd08019 : FAILURE in 4m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e8f2f69ecc7842a8a6ad9224d98d156c : SUCCESS in 8m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d298db5af0dd4e7a9d971087c14ac1d5 : SUCCESS in 3m 44s\n- networking-baremetal-multitenant-vlans https://zuul.opendev.org/t/openstack/build/847ac2d5b9ff459ea32a1690de4bd42b : FAILURE in 21m 06s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/e758ab56858d4be79f32fa03a782a0af : FAILURE in 20m 51s\n- networking-baremetal-ovn-geneve https://zuul.opendev.org/t/openstack/build/aba7842c373b4ef4a30731020c9134cf : FAILURE in 16m 35s","accounts_in_message":[],"_revision_number":4},{"id":"40e09863257136920f897380a030daac15d44a5b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-03-16 13:23:10.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":5},{"id":"25c4ed7b6f9031476f37b0681ce82a4db70c12b4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-03-16 13:56:03.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"3f075af454062da148aee865d19cdb05826456c8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-16 16:20:07.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/447c4ac6ec2a4f78b93935bac2e674d1\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/442de274ef5e472e91a2abca46d3666e : SUCCESS in 5m 55s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/eb01a58d6560414cbff10338bbec891d : SUCCESS in 5m 55s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/79783d075b4042b5ac0eb1b14ff84ba5 : SUCCESS in 4m 49s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e53eda3b80004475846e9a2586cfa5f8 : SUCCESS in 10m 54s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a0d525be27ef42dd8c953ca8a57f0c0e : SUCCESS in 8m 55s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2dc77dc7744b426fac13f0deb3c1ae55 : SUCCESS in 3m 26s\n- networking-baremetal-multitenant-vlans https://zuul.opendev.org/t/openstack/build/a69d486aa09e4e26b2ed8cfd09c59835 : SUCCESS in 1h 44m 19s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/6e500962e3524055a17a256b9fc08fc5 : SUCCESS in 39m 45s\n- networking-baremetal-ovn-geneve https://zuul.opendev.org/t/openstack/build/27ce8ba0b359464994529f2c7fca7f75 : SUCCESS in 48m 30s","accounts_in_message":[],"_revision_number":6},{"id":"1b0860bf061f79fb673e110ff2eab19cab82b441","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-03-16 16:30:59.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":7},{"id":"c2560fbc8fa8110ca245bcb545b4e2b57e48a551","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-16 18:45:46.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/30b613f782a94cc985563c31baf109d7\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3fe8217711b840abbb99ebcd48355279 : SUCCESS in 6m 33s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/5292c4ea1f314080b8b086b24ec5f429 : SUCCESS in 5m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/27dd51a426f1435d90ec75d098893b7b : SUCCESS in 5m 14s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4f648d0e519543da99d1b3e9ee49f6d4 : SUCCESS in 7m 55s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c2240d257600486dbb3c815cd6ecef42 : SUCCESS in 9m 31s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/52f84b8e2dee40c080af3360219d826b : SUCCESS in 3m 40s\n- networking-baremetal-multitenant-vlans https://zuul.opendev.org/t/openstack/build/dd2ec2580cc941b39e30abf328bc137a : SUCCESS in 1h 51m 04s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/b61aacb323e74a9d91132d2cf915caad : SUCCESS in 53m 02s\n- networking-baremetal-ovn-geneve https://zuul.opendev.org/t/openstack/build/103eb59fa9db4786b20ebc638b1a31e9 : SUCCESS in 50m 16s","accounts_in_message":[],"_revision_number":7},{"id":"a12bd1f3cc9ea1c7b442524f1412c2b4d0c3d24a","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-03-16 21:33:00.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":7},{"id":"88440c3a07531af32cc92e67cf8e02b1332c339d","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-03-16 21:40:24.000000000","message":"Patch Set 7: Code-Review+2","accounts_in_message":[],"_revision_number":7},{"id":"554b8f4b61dc16488640077ce208086fc7fc90c3","author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"date":"2026-03-17 01:58:07.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":7},{"id":"daecf783b06b0ac0c6dcc2719cec9b6bd0c68907","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-17 01:58:36.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":7},{"id":"0b74cda237557c693119cece14d92bddd0745098","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-17 03:59:52.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a2f6980adc8c4e9786697ac62dc0b900\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/dc25f4712f134de18f798b836b6f153a : SUCCESS in 5m 23s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c88de53367ab42808f61601c69f9fe1f : SUCCESS in 4m 37s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/83791e5964da4af384bc7064082c32f6 : SUCCESS in 4m 42s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/35e9629f3aec4153a60dd46f4c623a2f : SUCCESS in 7m 40s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bfde85512b644d8e9f6519fab748267d : SUCCESS in 2m 46s\n- networking-baremetal-multitenant-vlans https://zuul.opendev.org/t/openstack/build/94ca07fca5294ee0a294998a3ddd8ebb : SUCCESS in 1h 52m 23s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/599c7df51b9e46a0938fc212737d6bb0 : SUCCESS in 35m 47s\n- networking-baremetal-ovn-geneve https://zuul.opendev.org/t/openstack/build/6e009646abd042feb65e4bf3aa99767d : SUCCESS in 54m 47s","accounts_in_message":[],"_revision_number":7},{"id":"78b9f8f1f1da490fa85888b8b45ef97072b8d3b8","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-17 03:59:53.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":7},{"id":"6acbed542cd90b1ba7c73edf3f7aff8ead6210c7","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-17 04:00:44.000000000","message":"Patch Set 7:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f149b0c26d194e9b97ec84b3e1f0e938\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/625c4124eda945358afcf028e86f968e : SUCCESS in 41s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8bd0ae7d12424491afeae805611135b8 : SUCCESS in 40s","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"7c49c101dd40bbebaa1822fad4e673236c33d13f","revisions":{"e5b997cb42ea41e8baca6394d99ace7c0a780730":{"kind":"REWORK","_number":1,"created":"2026-03-14 05:28:02.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/49/980549/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-baremetal","ref":"refs/changes/49/980549/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/1"}}},"commit":{"parents":[{"commit":"0aba5ebd308c27c478da5f81b76e5e9fcf509ef3","subject":"Add OVN event-driven reconcile for L2VNI trunks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/0aba5ebd308c27c478da5f81b76e5e9fcf509ef3"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-13 23:55:24.000000000","tz":60},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-14 04:46:16.000000000","tz":60},"subject":"Add targeted single-VLAN reconcile for OVN events","message":"Add targeted single-VLAN reconcile for OVN events\n\nImplement targeted reconciliation that updates only specific VLANs\nwhen OVN localnet port events are received, rather than performing\nfull trunk scans. This significantly reduces reconciliation time\nand API calls for individual baremetal port binding operations.\n\nKey changes:\n- Add reconcile_single_vlan() method to L2VNITrunkManager for\n  targeted VLAN add/remove operations\n- Add _reconcile_single_vlan_blocking() to agent for event-driven\n  calls with blocking lock acquisition\n- Add _ensure_single_subport() and _remove_single_subport() helper\n  methods for idempotent single-VLAN operations\n- Update LocalnetPortEvent.run() to extract VLAN ID from events\n  and call targeted reconciliation\n- Add fallback to full reconciliation if event data is incomplete\n- Narrow exception handling to AttributeError for malformed data\n- Update logging levels: LOG.error for critical failures that\n  block reconciliation\n- Add comprehensive unit tests with autospec\u003dTrue for type safety\n- Add release note documenting targeted reconciliation feature\n\nThe targeted approach is especially beneficial for trunks with\nmany VLANs, as it avoids scanning all subports when adding or\nremoving a single VLAN. Full periodic reconciliation continues\nto run as a safety net for eventual consistency.\n\nChange-Id: Ie397ceeb551d8891658eec58cd94d4cec2c52d69\nAssisted-By: Claude (claude-4.5-sonnet)\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/e5b997cb42ea41e8baca6394d99ace7c0a780730"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/e5b997cb42ea41e8baca6394d99ace7c0a780730"}]},"branch":"refs/heads/master"},"f58bb551b0d8d9a428be8b069a4c20b2c0844d11":{"kind":"REWORK","_number":2,"created":"2026-03-15 00:36:56.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/49/980549/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-baremetal","ref":"refs/changes/49/980549/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/2"}}},"commit":{"parents":[{"commit":"8999aac31646e5da510bc948b547e838fa8dfc26","subject":"Add OVN event-driven reconcile for L2VNI trunks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/8999aac31646e5da510bc948b547e838fa8dfc26"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-13 23:55:24.000000000","tz":60},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-15 00:14:32.000000000","tz":60},"subject":"Add targeted single-VLAN reconcile for OVN events","message":"Add targeted single-VLAN reconcile for OVN events\n\nImplement targeted reconciliation that updates only specific VLANs\nwhen OVN localnet port events are received, rather than performing\nfull trunk scans. This significantly reduces reconciliation time\nand API calls for individual baremetal port binding operations.\n\nKey changes:\n- Add reconcile_single_vlan() method to L2VNITrunkManager for\n  targeted VLAN add/remove operations\n- Add _reconcile_single_vlan_blocking() to agent for event-driven\n  calls with blocking lock acquisition\n- Add _ensure_single_subport() and _remove_single_subport() helper\n  methods for idempotent single-VLAN operations\n- Update LocalnetPortEvent.run() to extract VLAN ID from events\n  and call targeted reconciliation\n- Add fallback to full reconciliation if event data is incomplete\n- Narrow exception handling to AttributeError for malformed data\n- Update logging levels: LOG.error for critical failures that\n  block reconciliation\n- Add comprehensive unit tests with autospec\u003dTrue for type safety\n- Add release note documenting targeted reconciliation feature\n\nThe targeted approach is especially beneficial for trunks with\nmany VLANs, as it avoids scanning all subports when adding or\nremoving a single VLAN. Full periodic reconciliation continues\nto run as a safety net for eventual consistency.\n\nChange-Id: Ie397ceeb551d8891658eec58cd94d4cec2c52d69\nAssisted-By: Claude (claude-4.5-sonnet)\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/f58bb551b0d8d9a428be8b069a4c20b2c0844d11"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/f58bb551b0d8d9a428be8b069a4c20b2c0844d11"}]},"branch":"refs/heads/master"},"254cda220ba2c5b7a4a8dd9a004dfea92909207d":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-03-15 23:20:09.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/49/980549/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-baremetal","ref":"refs/changes/49/980549/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/3"}}},"commit":{"parents":[{"commit":"7ed74c19d6a0770f3ee2b77b66b31c9eec58c71c","subject":"Add OVN event-driven reconcile for L2VNI trunks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/7ed74c19d6a0770f3ee2b77b66b31c9eec58c71c"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-13 23:55:24.000000000","tz":60},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-15 23:11:24.000000000","tz":60},"subject":"Add targeted single-VLAN reconcile for OVN events","message":"Add targeted single-VLAN reconcile for OVN events\n\nImplement targeted reconciliation that updates only specific VLANs\nwhen OVN localnet port events are received, rather than performing\nfull trunk scans. This significantly reduces reconciliation time\nand API calls for individual baremetal port binding operations.\n\nKey changes:\n- Add reconcile_single_vlan() method to L2VNITrunkManager for\n  targeted VLAN add/remove operations\n- Add _reconcile_single_vlan_blocking() to agent for event-driven\n  calls with blocking lock acquisition\n- Add _ensure_single_subport() and _remove_single_subport() helper\n  methods for idempotent single-VLAN operations\n- Update LocalnetPortEvent.run() to extract VLAN ID from events\n  and call targeted reconciliation\n- Add fallback to full reconciliation if event data is incomplete\n- Narrow exception handling to AttributeError for malformed data\n- Update logging levels: LOG.error for critical failures that\n  block reconciliation\n- Add comprehensive unit tests with autospec\u003dTrue for type safety\n- Add release note documenting targeted reconciliation feature\n\nThe targeted approach is especially beneficial for trunks with\nmany VLANs, as it avoids scanning all subports when adding or\nremoving a single VLAN. Full periodic reconciliation continues\nto run as a safety net for eventual consistency.\n\nChange-Id: Ie397ceeb551d8891658eec58cd94d4cec2c52d69\nAssisted-By: Claude (claude-4.5-sonnet)\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/254cda220ba2c5b7a4a8dd9a004dfea92909207d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/254cda220ba2c5b7a4a8dd9a004dfea92909207d"}]},"branch":"refs/heads/master"},"605a06f6ede3d29f0a59fc03f6f5c28dc317bf31":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-03-16 04:35:45.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/49/980549/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-baremetal","ref":"refs/changes/49/980549/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/4"}}},"commit":{"parents":[{"commit":"c1753bcec28f05710973dfdb1cd57a8025278b8e","subject":"Add OVN event-driven reconcile for L2VNI trunks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/c1753bcec28f05710973dfdb1cd57a8025278b8e"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-13 23:55:24.000000000","tz":60},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-16 04:02:29.000000000","tz":60},"subject":"Add targeted single-VLAN reconcile for OVN events","message":"Add targeted single-VLAN reconcile for OVN events\n\nImplement targeted reconciliation that updates only specific VLANs\nwhen OVN localnet port events are received, rather than performing\nfull trunk scans. This significantly reduces reconciliation time\nand API calls for individual baremetal port binding operations.\n\nKey changes:\n- Add reconcile_single_vlan() method to L2VNITrunkManager for\n  targeted VLAN add/remove operations\n- Add _reconcile_single_vlan_blocking() to agent for event-driven\n  calls with blocking lock acquisition\n- Add _ensure_single_subport() and _remove_single_subport() helper\n  methods for idempotent single-VLAN operations\n- Update LocalnetPortEvent.run() to extract VLAN ID from events\n  and call targeted reconciliation\n- Add fallback to full reconciliation if event data is incomplete\n- Narrow exception handling to AttributeError for malformed data\n- Update logging levels: LOG.error for critical failures that\n  block reconciliation\n- Add comprehensive unit tests with autospec\u003dTrue for type safety\n- Add release note documenting targeted reconciliation feature\n\nThe targeted approach is especially beneficial for trunks with\nmany VLANs, as it avoids scanning all subports when adding or\nremoving a single VLAN. Full periodic reconciliation continues\nto run as a safety net for eventual consistency.\n\nChange-Id: Ie397ceeb551d8891658eec58cd94d4cec2c52d69\nAssisted-By: Claude (claude-4.5-sonnet)\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/605a06f6ede3d29f0a59fc03f6f5c28dc317bf31"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/605a06f6ede3d29f0a59fc03f6f5c28dc317bf31"}]},"branch":"refs/heads/master"},"652776be0b9cd48613b91815f501ffbe64cffa55":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2026-03-16 13:23:10.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/49/980549/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-baremetal","ref":"refs/changes/49/980549/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/5"}}},"commit":{"parents":[{"commit":"e95e631ed4d0af93fde982d75ba5bd3aa7dc674d","subject":"Add OVN event-driven reconcile for L2VNI trunks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/e95e631ed4d0af93fde982d75ba5bd3aa7dc674d"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-13 23:55:24.000000000","tz":60},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-16 13:12:51.000000000","tz":60},"subject":"Add targeted single-VLAN reconcile for OVN events","message":"Add targeted single-VLAN reconcile for OVN events\n\nImplement targeted reconciliation that updates only specific VLANs\nwhen OVN localnet port events are received, rather than performing\nfull trunk scans. This significantly reduces reconciliation time\nand API calls for individual baremetal port binding operations.\n\nKey changes:\n- Add reconcile_single_vlan() method to L2VNITrunkManager for\n  targeted VLAN add/remove operations\n- Add _reconcile_single_vlan_blocking() to agent for event-driven\n  calls with blocking lock acquisition\n- Add _ensure_single_subport() and _remove_single_subport() helper\n  methods for idempotent single-VLAN operations\n- Update LocalnetPortEvent.run() to extract VLAN ID from events\n  and call targeted reconciliation\n- Add fallback to full reconciliation if event data is incomplete\n- Narrow exception handling to AttributeError for malformed data\n- Update logging levels: LOG.error for critical failures that\n  block reconciliation\n- Add comprehensive unit tests with autospec\u003dTrue for type safety\n- Add release note documenting targeted reconciliation feature\n\nThe targeted approach is especially beneficial for trunks with\nmany VLANs, as it avoids scanning all subports when adding or\nremoving a single VLAN. Full periodic reconciliation continues\nto run as a safety net for eventual consistency.\n\nChange-Id: Ie397ceeb551d8891658eec58cd94d4cec2c52d69\nAssisted-By: Claude (claude-4.5-sonnet)\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/652776be0b9cd48613b91815f501ffbe64cffa55"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/652776be0b9cd48613b91815f501ffbe64cffa55"}]},"branch":"refs/heads/master"},"7910c16b7b75b71a4043ee441af0b683975c3aba":{"kind":"REWORK","_number":6,"created":"2026-03-16 13:56:03.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/49/980549/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-baremetal","ref":"refs/changes/49/980549/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/6"}}},"commit":{"parents":[{"commit":"e95e631ed4d0af93fde982d75ba5bd3aa7dc674d","subject":"Add OVN event-driven reconcile for L2VNI trunks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/e95e631ed4d0af93fde982d75ba5bd3aa7dc674d"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-13 23:55:24.000000000","tz":60},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-16 13:46:26.000000000","tz":60},"subject":"Add targeted single-VLAN reconcile for OVN events","message":"Add targeted single-VLAN reconcile for OVN events\n\nImplement targeted reconciliation that updates only specific VLANs\nwhen OVN localnet port events are received, rather than performing\nfull trunk scans. This significantly reduces reconciliation time\nand API calls for individual baremetal port binding operations.\n\nKey changes:\n- Add reconcile_single_vlan() method to L2VNITrunkManager for\n  targeted VLAN add/remove operations\n- Add _reconcile_single_vlan_blocking() to agent for event-driven\n  calls with blocking lock acquisition\n- Add _ensure_single_subport() and _remove_single_subport() helper\n  methods for idempotent single-VLAN operations\n- Update LocalnetPortEvent.run() to extract VLAN ID from events\n  and call targeted reconciliation\n- Add fallback to full reconciliation if event data is incomplete\n- Narrow exception handling to AttributeError for malformed data\n- Update logging levels: LOG.error for critical failures that\n  block reconciliation\n- Add comprehensive unit tests with autospec\u003dTrue for type safety\n- Add release note documenting targeted reconciliation feature\n\nThe targeted approach is especially beneficial for trunks with\nmany VLANs, as it avoids scanning all subports when adding or\nremoving a single VLAN. Full periodic reconciliation continues\nto run as a safety net for eventual consistency.\n\nChange-Id: Ie397ceeb551d8891658eec58cd94d4cec2c52d69\nAssisted-By: Claude (claude-4.5-sonnet)\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/7910c16b7b75b71a4043ee441af0b683975c3aba"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/7910c16b7b75b71a4043ee441af0b683975c3aba"}]},"branch":"refs/heads/master"},"7c49c101dd40bbebaa1822fad4e673236c33d13f":{"kind":"REWORK","_number":7,"created":"2026-03-16 16:30:59.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/49/980549/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-baremetal","ref":"refs/changes/49/980549/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-baremetal refs/changes/49/980549/7"}}},"commit":{"parents":[{"commit":"708c02d7c1e1e8d9980f4b4f5b269c2521a44c9a","subject":"Add OVN event-driven reconcile for L2VNI trunks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/708c02d7c1e1e8d9980f4b4f5b269c2521a44c9a"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-13 23:55:24.000000000","tz":60},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-03-16 15:48:45.000000000","tz":60},"subject":"Add targeted single-VLAN reconcile for OVN events","message":"Add targeted single-VLAN reconcile for OVN events\n\nImplement targeted reconciliation that updates only specific VLANs\nwhen OVN localnet port events are received, rather than performing\nfull trunk scans. This significantly reduces reconciliation time\nand API calls for individual baremetal port binding operations.\n\nKey changes:\n- Add reconcile_single_vlan() method to L2VNITrunkManager for\n  targeted VLAN add/remove operations\n- Add _reconcile_single_vlan_blocking() to agent for event-driven\n  calls with blocking lock acquisition\n- Add _ensure_single_subport() and _remove_single_subport() helper\n  methods for idempotent single-VLAN operations\n- Update LocalnetPortEvent.run() to extract VLAN ID from events\n  and call targeted reconciliation\n- Add fallback to full reconciliation if event data is incomplete\n- Narrow exception handling to AttributeError for malformed data\n- Update logging levels: LOG.error for critical failures that\n  block reconciliation\n- Add comprehensive unit tests with autospec\u003dTrue for type safety\n- Add release note documenting targeted reconciliation feature\n\nThe targeted approach is especially beneficial for trunks with\nmany VLANs, as it avoids scanning all subports when adding or\nremoving a single VLAN. Full periodic reconciliation continues\nto run as a safety net for eventual consistency.\n\nChange-Id: Ie397ceeb551d8891658eec58cd94d4cec2c52d69\nAssisted-By: Claude (claude-4.5-sonnet)\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/7c49c101dd40bbebaa1822fad4e673236c33d13f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-baremetal/commit/7c49c101dd40bbebaa1822fad4e673236c33d13f"}]},"branch":"refs/heads/master"}},"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":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"}},{"label":"Backport-Candidate","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":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"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":"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":{}}}]}
