)]}'
{"id":"openstack%2Fnova~960245","triplet_id":"openstack%2Fnova~stable%2F2024.2~I63c8fb2669a3c6b3adb77d210c0f9b39d3657c80","project":"openstack/nova","branch":"stable/2024.2","topic":"bug/2115905","attention_set":{},"removed_from_attention_set":{"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2026-04-29 01:25:01.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I63c8fb2669a3c6b3adb77d210c0f9b39d3657c80","subject":"[PCI tracker]Remove non configured devs when freed","status":"MERGED","created":"2025-09-09 09:14:00.000000000","updated":"2026-04-29 01:25:01.000000000","submitted":"2026-04-29 01:25:01.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"960245-bug/2115905","meta_rev_id":"cb2c84bd97fe9ce1a26c7239f9cd391f66c99885","_number":960245,"virtual_id_number":960245,"owner":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-29 01:25:01.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"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":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-10-13 12:09:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":2,"date":"2026-04-28 23:12:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":1,"date":"2026-04-28 23:12:24.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}],"REVIEWER":[{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-09-09 10:29:51.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":"CC"},{"updated":"2025-09-09 10:51:00.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":"2025-09-09 10:56:34.000000000","updated_by":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"reviewer":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"state":"CC"},{"updated":"2025-10-13 12:09:21.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"REVIEWER"},{"updated":"2026-04-28 23:12:24.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"state":"REVIEWER"}],"messages":[{"id":"7c26780259e1ba458a77c2225f705de187d6eee1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-09-09 09:14:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0ed9f5b3c9d4c17e0b74b8d2fe6f04f495669cdb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 10:29:51.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6ead4fbb7b7541fa95ce467b84570c5a\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/b92d870dfcc64fdc895fdea8719fa1a5 : SUCCESS in 40m 20s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/887171324eac491198b3faf8a0c7e8d3 : SUCCESS in 15m 14s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"0af25f26354b1657a96366d28ba446ca64039a03","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 10:51:00.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f55382adad3c4b70a63460c21d528ebb\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e56289fda46a40f7832c8ca2f560fe80 : SUCCESS in 28m 20s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/0cdc876ea7b84f15be522e4d84749442 : SUCCESS in 1h 34m 41s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e4fb1f64b9984c8eb2487d3ff3ced5b0 : SUCCESS in 54m 25s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/fcaa5ebbb4c0470bb946595ff0a5acda : SUCCESS in 23m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3b48da34a83d4be09d2cc2aa7142d300 : SUCCESS in 8m 46s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/219bd5717fc34325ba8724a883306d86 : SUCCESS in 13m 50s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/736f192577b54df881fae04ce4c6f8d3 : SUCCESS in 11m 33s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/526d592fa38444ecb3250ea3efedac9c : SUCCESS in 12m 34s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0fe0b9a74dcd4c18a3f9d59461b16786 : SUCCESS in 9m 10s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/12354991132c47f0ad9ca7ce0986f0c5 : SUCCESS in 37m 15s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/5c38981afdd2437aa4fc310fbb9d6a5c : SUCCESS in 1h 19m 10s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/81b5342646624b7d97a8e8b81cab7dfc : FAILURE in 2m 52s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/b4b534e1dbe74f249e0f841d28207c7a : SUCCESS in 21m 55s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/3fa6696f906f4d33ba3b0510984af7d3 : SUCCESS in 26m 18s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/41962543d9af4c4c9edc24b337a822df : SUCCESS in 28m 51s\n- tempest-integrated-compute-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/5eaa141664944a57a7e533a864e4fcbd : SUCCESS in 55m 23s\n- tempest-integrated-compute-rbac-old-defaults https://zuul.opendev.org/t/openstack/build/822fe7a3faf74163b98d271dd0a1c8e3 : SUCCESS in 55m 24s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/ea91835ee5ba44d9a6ef03cf319c4e35 : SUCCESS in 1h 22m 11s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/40c9c321380a491bb77bcdbe7a1cc8a3 : SUCCESS in 49m 11s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/1d260580b5a4493db3ce2f244434bf83 : SUCCESS in 14m 34s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/c1acde31a7d44a8a9342d9d6c0878114 : SUCCESS in 26m 30s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"52685536f72e236fe4c9e4e99efd7ebeb577c7d0","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2025-09-09 10:56:34.000000000","message":"Patch Set 1:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with \u0027run-Lightbits CI\u0027 to trigger a recheck. \nFor more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/LightbitsLabs_CI","accounts_in_message":[],"_revision_number":1},{"id":"aef9654c88c045c2214a076c76286195f97d5e3f","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-10-13 12:09:21.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ec4d0072b9fce28946ebd8e59e93463790bfd4b1","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-04-28 23:12:24.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"c6e9e809f72678f7baad84bfe1e47031c54b3e62","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 23:14:08.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"9c2acc179b1680ae5b7e54c6ca6617d5e3191c1b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-29 01:25:01.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c385303b6f8a43729e24e567d12f55b6\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/a68b0ca3d0ed4fba9d03ee416b7e05cd : SUCCESS in 1h 55m 51s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/d55b99f7455446bda018f750208e292a : SUCCESS in 56m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ac17c54da3e64993883f7436c1414d37 : SUCCESS in 7m 36s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/d1baf61fcdf74cf8b9245f01eb78f5c3 : SUCCESS in 13m 26s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/06681b8b448e441f9714d98845d1fdd0 : SUCCESS in 13m 08s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f7d242b992834016a69f0fc43640a524 : SUCCESS in 11m 47s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/6e92e59303804079b6d5f14c8e313b8c : SUCCESS in 28m 48s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/08dc59d2aa9c465e93cb985dce2f5df0 : SUCCESS in 26m 22s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/b8fcf9f311804dac848c12607c845afa : SUCCESS in 27m 16s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/f89d439047da44c1961dd80ca7be0c5c : SUCCESS in 4m 47s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/9d894ad122704bca8dff271fc9b707dc : SUCCESS in 1h 45m 45s\n- tempest-integrated-compute-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/2b93b786ed7b48fa9fcc2aaaab69e400 : SUCCESS in 1h 16m 29s\n- tempest-integrated-compute-rbac-old-defaults https://zuul.opendev.org/t/openstack/build/f21e475d9c3346989d7a37ed6436ea59 : SUCCESS in 1h 37m 27s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/caa8f0ec45d84b41801eb38dd2fbe824 : SUCCESS in 1h 16m 56s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d75fc50b6fa1499684a2db0ffedf1b84 : SUCCESS in 50m 27s","accounts_in_message":[],"_revision_number":1},{"id":"cb2c84bd97fe9ce1a26c7239f9cd391f66c99885","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-29 01:25:01.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"69ab5f4bb7d23a02dac679c35ea3933c1bd74a2f","revisions":{"69ab5f4bb7d23a02dac679c35ea3933c1bd74a2f":{"kind":"REWORK","_number":1,"created":"2025-09-09 09:14:00.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/45/960245/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/45/960245/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/45/960245/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/45/960245/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/45/960245/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/45/960245/1"}}},"commit":{"parents":[{"commit":"cab2243702962eff0a4b34e3ba127573a220c16e","subject":"Reproduce bug/2115905","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/cab2243702962eff0a4b34e3ba127573a220c16e"}]}],"author":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-07-08 14:55:55.000000000","tz":120},"committer":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-09-09 09:08:16.000000000","tz":120},"subject":"[PCI tracker]Remove non configured devs when freed","message":"[PCI tracker]Remove non configured devs when freed\n\nThe PCI tracker handles the case when a device spec is removed from\nthe configuration while a device is still being allocated. It keeps the\ndevice until the VM is deleted to avoid inconsistencies.\n\nHowever the full removal of such a device needs not just the VM deletion,\nbut also a nova-compute restart. The device tracker just frees the\ndevice during VM deletion but does not removed them until the next\nnova-compute startup. This allows the device to be re-allocated by\nanother VM even though the device is not allowed by a device_spec.\n\nThis change adds yet another in memory dict to the pci tracker to track\nthese devices that are only kept until they are freed. Then during\nfree() this list is consulted and if the device is in the list then the\ndevice is marked for removal as well.\n\nThis kills two birds with one stone:\n\n* We prevent the re-allocation of the device as the state of the device\n  will be set to REMOVED not AVAILABLE during VM deletion.\n\n* As PCI in Placement relies on the state of the device to decide what\n  to track in placement, this change makes sure that a device that\n  needs to be removed, is now removed from placement too. Note that we have\n  another bug that prevents this removal for now. But at least the\n  reproducers of that bug now starts to behave the same regardless of\n  how many device belongs to the same RP in placement.\n\nRelated-Bug: #2115905\nChange-Id: I63c8fb2669a3c6b3adb77d210c0f9b39d3657c80\nSigned-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e\n(cherry picked from commit f37cdf0c4182103ad81dbf39188ff39955da3850)\n(cherry picked from commit a63b4e04b35f85acfee29c2ff67bf2ef6d19c533)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/69ab5f4bb7d23a02dac679c35ea3933c1bd74a2f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/69ab5f4bb7d23a02dac679c35ea3933c1bd74a2f"}]},"branch":"refs/heads/stable/2024.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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}},{"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review Priority","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":"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
