)]}'
{"id":"openstack%2Fnova~960241","triplet_id":"openstack%2Fnova~stable%2F2025.1~Ib3febb77299da65ada24ed49849c04cbf3c41af1","project":"openstack/nova","branch":"stable/2025.1","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":"2025-09-19 07:47:31.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ib3febb77299da65ada24ed49849c04cbf3c41af1","subject":"Reproduce bug/2115905","status":"MERGED","created":"2025-09-09 09:07:24.000000000","updated":"2025-09-19 07:48:33.000000000","submitted":"2025-09-19 07:47:31.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":"960241-bug/2115905","meta_rev_id":"1fa10a64f7dcbef72a8c3e2f3a6ec5ddf9a0e118","_number":960241,"virtual_id_number":960241,"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":[{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-09-19 07:47:31.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"value":0,"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"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":2,"date":"2025-09-09 14:04:49.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":1,"date":"2025-09-18 11:47:15.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2025-09-12 07:03:03.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"value":2,"date":"2025-09-19 07:05:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"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":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"all":[{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"value":1,"date":"2025-09-19 07:05:23.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"value":0,"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"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":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-09-09 09:44:40.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 09:50:46.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-09-09 14:04:49.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":"2025-09-12 07:03:03.000000000","updated_by":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"reviewer":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"state":"REVIEWER"},{"updated":"2025-09-18 11:47:15.000000000","updated_by":{"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},"reviewer":{"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},"state":"REVIEWER"},{"updated":"2025-09-19 07:05:23.000000000","updated_by":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"reviewer":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"state":"REVIEWER"}],"messages":[{"id":"e77329a692ebfc545f3bbccc6d9b079205948e64","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:07:24.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d122e92b7d9e95f5ca5422e20087a5500c2d8870","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 09:44:40.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/78686f623f7645b9a6bb7f6b4f001c9f\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8821359495f34ea39910cdd7e0d3c119 : SUCCESS in 13m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8a9de07fae084d1ebb517d1e958f30bd : SUCCESS in 7m 34s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/3afdaf84f88b489e876218c95d188bd6 : SUCCESS in 13m 22s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/3c12e22415b54c4fb87e59f659c160ae : SUCCESS in 13m 38s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1278fc2b8e94422c9dffdd4ff5734022 : SUCCESS in 11m 15s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/af0dfd3a8f034662804dcc7d6310276f : SUCCESS in 5m 12s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/ff18691a020741a3846497992866fa6c : SUCCESS in 31m 55s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/f706f85af9f443978bfaa995c7271174 : SUCCESS in 23m 15s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/9d7b5bdb3ff74f79ad38717f73b2821c : SUCCESS in 31m 31s","accounts_in_message":[],"_revision_number":1},{"id":"2479bcdfea75287be3cb4fe43653f988635da8af","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 09:50:46.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":"93723827771b03f72d90394126e251dcaf41fe58","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 09:56:08.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b5198785ea544ab190cd2e95aca7462b\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/0c26b68f4d8a4ca283aa7f98571c7751 : SUCCESS in 21m 47s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/24ad0ca1abde4d1f98d6f11bf15fa098 : FAILURE in 46m 26s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"7d9408c7e58f10b9197c6d77d4a5a181962d676a","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-09-09 14:04:49.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"049b71fec88958c6b3c4d230ef7f64810fcf4373","author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"date":"2025-09-12 07:03:03.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"f268f6f9fc2da5a9a55c4a9428bfc0fb0dc780c3","author":{"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},"date":"2025-09-18 11:47:15.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"a72c064111a4aa03ff52b821d716786d142481e6","author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"date":"2025-09-19 07:05:23.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"3fd33b65260237fe2f130f9003624a3cee1e01af","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 07:05:35.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"a6a8693fa8f25483b7ed9c44aaae0e0391c03631","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 07:47:31.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e61ac475fcba49a8a7a30b137bb32fa1\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/853c6be7ff114d8187f47088b0f595fd : SUCCESS in 7m 45s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/4cf2dfb71d134dada531da68291a2114 : SUCCESS in 15m 06s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/136101950a4c46f68d0f504b82cdd829 : SUCCESS in 14m 48s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d59faa9690454f3caa61d5429477b254 : SUCCESS in 13m 39s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/a7e77618cc4f4e79af53554363fe2083 : SUCCESS in 27m 59s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/06c2b7ec955a48fea837b6579aa60ea0 : SUCCESS in 27m 40s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/a2f11d336f1140428ef6cc9353551620 : SUCCESS in 33m 35s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/a184bf05096a49f3b4e895dcfe2ed74e : SUCCESS in 3m 09s","accounts_in_message":[],"_revision_number":1},{"id":"450aeb75b2426c2308c6cbd867a828be04d73b8a","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 07:47:31.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"1fa10a64f7dcbef72a8c3e2f3a6ec5ddf9a0e118","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 07:48:33.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4eeb386798214920af31c8682b92fb2a\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0aa542f93d96440e93c333e62580e970 : SUCCESS in 43s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"1863fbf87668ad74090cc82e459ade0c29f7e115","revisions":{"1863fbf87668ad74090cc82e459ade0c29f7e115":{"kind":"REWORK","_number":1,"created":"2025-09-09 09:07:24.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/41/960241/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/41/960241/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/960241/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/960241/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/960241/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/41/960241/1"}}},"commit":{"parents":[{"commit":"e3695702a2b671268949a1d760e753dab796c1ae","subject":"Fix pci_tracker.save to delete all removed devs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/e3695702a2b671268949a1d760e753dab796c1ae"}]}],"author":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-07-08 12:42:57.000000000","tz":120},"committer":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-09-09 08:35:27.000000000","tz":120},"subject":"Reproduce bug/2115905","message":"Reproduce bug/2115905\n\nBoth the PCI tracker and the PCI in Placement logic handles the case\nwhen a device spec is removed from the configuration while a device\nis still being allocated.\n\nHowever there are edge cases in PCI in Placement that it not handled\nwell. Namely that if the VM with this allocation is deleted, then\ndepending on the amount of VFs the PF had originally, the logic might\ntry to delete the RP before the allocation is removed. That is\nrejected by Placement. This prevent the deletion of such a VM and\ntherefore prevents one of the ways the original inconsistency can be\n\nNote that with this patch we see two additional behaviors worth\nmentioning:\n* When the VM is successfully deleted (in a single VF or PF case) the\n  PCI tracker still keeps the now free device in the DB and therefore PCI\n  in Placement also keeps the RP. This keeps the non whitelisted device\n  available for allocations until the next nova-compute restart.\n\n* The PCI in Placement logic is different between the case where\n  the last device is removed from an RP and the case where there\n  are other devices on the RP, some that can be removed and some that\n  cannot due to allocation.\n\nRelated-Bug: #2115905\nChange-Id: Ib3febb77299da65ada24ed49849c04cbf3c41af1\nSigned-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e\n(cherry picked from commit d86aa2d15a3056d460952a5a51064f012b00bbe6)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/1863fbf87668ad74090cc82e459ade0c29f7e115"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/1863fbf87668ad74090cc82e459ade0c29f7e115"}]},"branch":"refs/heads/stable/2025.1"}},"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":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}},{"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":"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":{}}}]}
