)]}'
{"id":"openstack%2Fnova~960248","triplet_id":"openstack%2Fnova~stable%2F2024.1~Ib3febb77299da65ada24ed49849c04cbf3c41af1","project":"openstack/nova","branch":"stable/2024.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-10-31 13:47:44.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"Ib3febb77299da65ada24ed49849c04cbf3c41af1","subject":"Reproduce bug/2115905","status":"ABANDONED","created":"2025-09-09 09:21:25.000000000","updated":"2025-10-31 13:47:44.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"19c0474f0376b00a877288c20d4f14a2a866be0a","_number":960248,"virtual_id_number":960248,"owner":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},{"tag":"autogenerated:zuul:check","value":1,"date":"2025-09-09 09:51:00.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"recommended":{"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},"all":[{"value":1,"date":"2025-09-18 11:47:29.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,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},{"_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,"permitted_voting_range":{"min":0,"max":1},"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}],"REVIEWER":[{"_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: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:01:52.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-18 11:47:29.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-10-31 13:47:44.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":"CC"}],"messages":[{"id":"4737c519d733d90d9cc11304a583c6b2a8aafb0b","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:21:25.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5d5d69ac5f744ddcf6f6fab38a4d968f5fcdd479","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 09:51:00.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/322974e00baa4f588aff6823cbc12a5b\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6b5bf00d44d2413e843514b48d66af78 : SUCCESS in 24m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bb0c33216dde4b74a199f677cf453796 : SUCCESS in 4m 36s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/3a748554f0d64c2c9dca21e4bfb81750 : SUCCESS in 15m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f851133975f94773be8990db9fe94c79 : SUCCESS in 13m 01s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/38c4379b86c14d8696a4856ce3d33605 : SUCCESS in 5m 18s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/ef597ad328ca4c348e713f19ad195317 : FAILURE in 6m 09s (non-voting)\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/cc608162a3124c76a666f0f6f2871547 : SUCCESS in 21m 28s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/f8d6e54576f04d99b721004c4f0f482e : SUCCESS in 24m 25s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/2c35ebd0825143a4aa7c090fa9262f25 : SUCCESS in 22m 41s","accounts_in_message":[],"_revision_number":1},{"id":"7fe28be5a849dbe7fff0caecafdb3f480d9318ee","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:01:52.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":"e3201df89e09d72b453b00fa3b1fbfffca85bb9a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 10:31:20.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/666430a393ca4cf286ea009fb9044051\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/f235aff628384322bbe718c942a22149 : SUCCESS in 32m 49s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/69b89a12cadf4036be2ec985950a2bb3 : SUCCESS in 15m 25s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"b582c778fedd6df91c961342db684a12152ca285","author":{"_account_id":34378,"name":"Julien LE JEUNE","email":"julien.le-jeune@mailops.fr","username":"jlejeune"},"date":"2025-09-18 11:47:29.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"19c0474f0376b00a877288c20d4f14a2a866be0a","tag":"autogenerated:gerrit:abandon","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-10-31 13:47:44.000000000","message":"Abandoned\n\nstable/2024.1 branch of openstack/nova is about to be deleted. To be able to do that, all open patches need to be abandoned. Please cherry pick the patch to unmaintained/2024.1 if you want to further work on this patch.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"0f463b8ff869ad340b45b56c52b45777d2f44f75","revisions":{"0f463b8ff869ad340b45b56c52b45777d2f44f75":{"kind":"REWORK","_number":1,"created":"2025-09-09 09:21:25.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/48/960248/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/48/960248/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/48/960248/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/48/960248/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/48/960248/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/48/960248/1"}}},"commit":{"parents":[{"commit":"b45a9ba8361b3e8c32aeb7d97bd9e62a70123831","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/b45a9ba8361b3e8c32aeb7d97bd9e62a70123831"}]}],"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 09:14:24.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(cherry picked from commit 1863fbf87668ad74090cc82e459ade0c29f7e115)\n(cherry picked from commit cab2243702962eff0a4b34e3ba127573a220c16e)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/0f463b8ff869ad340b45b56c52b45777d2f44f75"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/0f463b8ff869ad340b45b56c52b45777d2f44f75"}]},"branch":"refs/heads/stable/2024.1"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","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":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
