)]}'
{"id":"openstack%2Fnova~960243","triplet_id":"openstack%2Fnova~stable%2F2025.1~Ie9d311ea9f59ff49593003e3773b690dd36fdeb2","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-10-10 18:29:44.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ie9d311ea9f59ff49593003e3773b690dd36fdeb2","subject":"[pci]Keep used dev in Placement regardless of dev_spec","status":"MERGED","created":"2025-09-09 09:07:24.000000000","updated":"2025-10-10 18:30:51.000000000","submitted":"2025-10-10 18:29:44.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":5,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"960243-bug/2115905","meta_rev_id":"b359d14bf9e3464130ae68c6c6c215f068718ceb","_number":960243,"virtual_id_number":960243,"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"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-10-10 18:29:44.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"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 13:56:03.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-09-19 07:05:59.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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2025-09-19 07:05:59.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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-09-09 09:36:31.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 11:22:16.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 13:56:03.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-09 14:38:17.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-19 07:05:59.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":"a2fd1b1d27678fdb863b9566d6a9d769f549cbf3","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":"9d0e1b72e661e081e5d9ea15c4505c93930b1036","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 09:36:31.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/917f703cc6a64971a22b7d67b70f692a\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/7413b9de50ad4b84a343aa62753623f8 : SUCCESS in 27m 00s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/84d2906414624d71ae3286fcf4260933 : SUCCESS in 24m 28s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"019a7d9e85864eee3091ce4bc62fb5a24b5c3af6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 11:22:16.000000000","message":"Patch Set 1: 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/b1083709cecb44e6991299b967d9e646\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8429646234a84855b615f2994b6e3336 : SUCCESS in 58m 14s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/162ec6c74062442e8a2ec4cad151dc90 : SUCCESS in 1h 59m 12s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/d9491ce2c1f54830a1916c55408954b5 : SUCCESS in 53m 10s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a3104b8aaeef464ab258ee1c2e338472 : SUCCESS in 26m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3c213be34bc241099625ac150f97e81b : SUCCESS in 7m 37s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/fa99d44eeab74da3af1a883a1b6e2739 : SUCCESS in 12m 53s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/06d8194cef664f7c82e0a87ffb7a30a8 : SUCCESS in 13m 24s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/22df38a910b94652943c7f8d5b66b430 : SUCCESS in 11m 52s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/2545fe469455449a80ce114ccf7aab14 : SUCCESS in 27m 52s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/d57acff765cc42c886c71ac77b81b700 : SUCCESS in 1h 55m 40s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/598a5dd613b34ae1b4c23719959fe30e : SUCCESS in 54m 44s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/cc7339351cbc4771a27f79576e818c7d : SUCCESS in 24m 25s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/ad63ee8fb0114befbd761110855583b1 : FAILURE in 1h 58m 14s\n- nova-next https://zuul.opendev.org/t/openstack/build/a9f54a040a1746a2887f5b400eab7494 : SUCCESS in 2h 06m 42s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/cec79f68df3b44f69ed946875fddd88a : SUCCESS in 37m 46s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/881416bcb4ce49cbb750e2437e71096f : SUCCESS in 5m 14s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/70a3ac6a451849bcb8d86189f88e3521 : SUCCESS in 28m 04s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/dd7ad383fdb9447c962ada45b6921f16 : SUCCESS in 26m 48s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/be6c712a65a14784b2b39989e6d581f8 : SUCCESS in 34m 20s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/abf80d3ed5e545d6b6d553d837e4afb2 : SUCCESS in 57m 02s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b2cd6b0b74454b0ca3a39084d4afa832 : SUCCESS in 58m 18s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/c47e6bda87694f6798d54a55de51f900 : FAILURE in 28m 27s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/df4f69e518cc42a69acb814e9fa9616d : SUCCESS in 32m 47s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"541de21ea84669813207e34e6dd2891ad031d732","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-09-09 12:25:40.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"6f99f008af58dfff3eb1171d47f9b738c112a3db","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 13:25:46.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/40545ac5fe2c4374913297beffbbf9ce\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/b104c1705fdf41b5bbc3cddbb0bdc519 : SUCCESS in 25m 22s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/265f2f0d91664cffa07ba2a16d67b5bb : FAILURE in 50m 47s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"b151260af2c5c249617dd3642aa9e9f33003b59d","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-09-09 13:56:03.000000000","message":"Patch Set 1: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"331ded9486fa988fb5aedf7799c402c4dc3edbfc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 14:32:45.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ce4c53bdf4064602a1fcaf617d8f8050\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/62ece46893424cd1a300ec9285a06f72 : SUCCESS in 1h 00m 24s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/d18bcc0a6f9e4b03a64100252b0780d2 : SUCCESS in 1h 41m 08s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/01b46ecb6a8741dc860d890821d198c2 : SUCCESS in 48m 49s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/47e9c94272ed49d0b03dc7f224371c3e : SUCCESS in 18m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7396ae17c4f945d99d6155ab5f60989f : SUCCESS in 8m 00s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/0aa93c4b28fb44bc8b1040293c8156f6 : SUCCESS in 13m 32s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/d9653a1cd246492fba8753be2e26be8f : SUCCESS in 12m 15s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a4f792d4e80447dd8fe092c72dd5b45f : SUCCESS in 11m 26s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/70413f223fb745e2a7fcf020a507846b : SUCCESS in 1h 01m 58s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/b1bff4bc72ce4550a64e813a90ec12f3 : SUCCESS in 1h 54m 41s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/723b3c1b0c324ced88243869c6f5d13a : SUCCESS in 56m 25s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/ec71312cb9ce4509b116ee2769cc5fdc : SUCCESS in 48m 45s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/59a4093c293b458ba1571bef6f024638 : SUCCESS in 1h 06m 04s\n- nova-next https://zuul.opendev.org/t/openstack/build/4dc68c27eda146c6afd010114364525d : SUCCESS in 2h 01m 33s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/95ee666d972d44de8776b5f6e32ee48f : SUCCESS in 43m 30s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/ab57826b99e44510b617700e6e39d5f7 : SUCCESS in 3m 06s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/e72df6b504a4485a8a892b5d37c72dea : SUCCESS in 23m 12s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/863d0596c2fa4ec8b0ad8b9eb8ae51dd : SUCCESS in 26m 50s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/07ec926ee5004aa8a79421e68ecef416 : SUCCESS in 27m 17s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/e30b726772974d988524705ca870dc59 : SUCCESS in 58m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/50f590e21a48421784f0af03fadf9166 : SUCCESS in 54m 43s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/884504c85bd04461a730a5989909e780 : FAILURE in 26m 43s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/3d0320adb2404712af8ac09f4ee3e812 : SUCCESS in 32m 30s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"0f5716dd6357e23f51749491530fe4ae5d74b107","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 14:38:17.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":"909edb3461b174a8c331b1e4d624904d68c60d1f","author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"date":"2025-09-19 07:05:59.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"4beea92a96a3e67e10b887526a7828234640a387","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 07:06:29.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"6b857e821c77447a0f8be9505561bb03b0c74b7b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 09:30:22.000000000","message":"Patch Set 1: Verified-2\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/960242 is needed.","accounts_in_message":[],"_revision_number":1},{"id":"5b48bfc98454439f38ab1c356f75a1de81315366","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-09-19 12:11:29.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"2d7fc7fd96f04849349c0f159a8f76c18c260291","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 13:04:35.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d5b1e5181e06452b8c304c3be58e8032\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/fd26b28a4a734598b17181a1e19570ce : SUCCESS in 30m 51s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/43c4a5d7ba7b4f9585a6ace58fd6aea2 : SUCCESS in 29m 22s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"7863eca39e4137459caaa5dff677569044818e3a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 14:39:42.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7109fcba9be04734b9bc92fbe9986708\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/adeb8f3d2c554857bbe1d926765adb49 : SUCCESS in 55m 28s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/e5d5e5eb803f418bb6e693fc623fcc1a : SUCCESS in 1h 46m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e462430fe7a54b68a5844e266f2e69c9 : SUCCESS in 58m 22s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4b147ca06a0e4664a5fb1ec62ef8175c : SUCCESS in 25m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ee191b3588474124bd0f56f7f38037a1 : SUCCESS in 9m 26s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/fdfa030573644ab4bc64205bd6197820 : SUCCESS in 11m 21s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/ce2ceda6670b4252a74efb479f205820 : SUCCESS in 13m 53s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8e6a816e989e4e249c0ef5f7a48904b1 : SUCCESS in 14m 40s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/48de0b4a223f4116ab3a5b20dfbe129e : SUCCESS in 1h 05m 08s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/6b8fcbecf23945a2a3e0eb058cdaf4cc : SUCCESS in 1h 55m 24s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/eb8cf781de9b4a31b5feb6db9ab149e8 : SUCCESS in 51m 00s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/8767bec24dbb474e8a67d546208ab956 : SUCCESS in 56m 04s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/609dc464171b49efb2f30ad2d5a0eb00 : SUCCESS in 1h 59m 49s\n- nova-next https://zuul.opendev.org/t/openstack/build/e56fc7da3e9f4cc2980daf91bf1284d2 : SUCCESS in 2h 19m 25s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/81ee0b0c10aa44ebb12bb908c125371b : SUCCESS in 41m 14s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/afda5974ccdf45c3b1a991fbee21060f : SUCCESS in 6m 46s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/9d488e417fc04660a95c66c255e6bae1 : SUCCESS in 27m 44s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/e4b8e50e6f034a9eab89d8d4464c61e8 : SUCCESS in 28m 20s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/2fb635b883644eedb2a3c49aa91a3a6a : SUCCESS in 34m 06s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/bf48b5e64003447fbf35f2cef52f9d3e : SUCCESS in 1h 22m 25s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ddde4f2487964f18b54b055211f4feb8 : SUCCESS in 1h 04m 01s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/ac92ed6b31d54453ac734ac450e48706 : FAILURE in 21m 59s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/4696102f2c22429ca744a57dcd1ca3e5 : SUCCESS in 18m 58s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"580cef233531e5773ad4d4bc4d6565996d4243e5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 14:40:18.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"b3b3dafa6e41bd1cd710b3e7d563034e81ffbac4","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-19 14:45:38.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":"057b881a56eff2409aa4b573948a67ec445e3624","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-19 17:31:18.000000000","message":"Patch Set 1: Verified-2\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/960242 is needed.","accounts_in_message":[],"_revision_number":1},{"id":"4485a37c3dc1499000d0010fa9d903a7bf4451f6","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-10-08 11:58:16.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"dbe64a5ab421116d7bc0ea9a92d109b28b378796","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 13:32:34.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0b7ea91deb944cd2bc4b0802b8b5a0e4\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/17bd0904572f4fe3a75893c06c385940 : SUCCESS in 18m 52s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/2d1f77ad782d4cdb9abaad0dda117a3f : SUCCESS in 35m 58s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"aec7deba45c78ab142e2cd1167376abd5bafd765","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 14:16:55.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3c97927e32fb4a358b9c53b866f2f743\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a962e97b92e64db08445af73191d8405 : SUCCESS in 41m 43s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/880a0465be2b4055b87856c5b9c90223 : SUCCESS in 1h 45m 05s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/8b1ab33a9ce7459a91a1af1cc23583af : SUCCESS in 1h 01m 56s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ebedbdd65b8342bab18cded43b4f897d : SUCCESS in 29m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d79ab10a21ba48f797fe4d3902e23b84 : SUCCESS in 8m 20s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/ea9630234a0c4e8e8a096ea77479f00f : SUCCESS in 13m 48s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/b06c5cb7476e47a4a2a42ed5e777a152 : SUCCESS in 8m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2e1b22923c13487d83d8d06e1c3a3d86 : SUCCESS in 10m 53s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/ebd8b6ed77864e8ea4a0741cbbb87785 : SUCCESS in 27m 51s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/a5b0656f731c41f9b45df0e6da779087 : SUCCESS in 1h 33m 32s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/c891d8aaa9094c0e919bbf20b88fbb68 : SUCCESS in 54m 18s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/1cdb761387644586a2a3f0b29016d4c8 : SUCCESS in 45m 00s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/227841b3233c4725b8a61822d9ed0504 : SUCCESS in 2h 13m 28s\n- nova-next https://zuul.opendev.org/t/openstack/build/633c06d986184fe4bb33458f588bda00 : SUCCESS in 2h 11m 57s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/1654810404584570a0733b45efbb0859 : SUCCESS in 44m 53s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/ebea19d8ecdd40d28edeee88e4046f28 : SUCCESS in 5m 18s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/ba91c55caf4c4fee9cb0f6a8ffb0b9b9 : SUCCESS in 28m 06s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/bd63c9a64dbd43e9bfd2ee4633b1731e : SUCCESS in 30m 38s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/b11b1efe1de2472dbb057d6eeba3446a : SUCCESS in 30m 57s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/7a665b1ac10f4307b8fc33795268b756 : SUCCESS in 1h 29m 20s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9e1b20166ced440f9ebeb93720188db1 : SUCCESS in 56m 59s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/b37f8cfb149241f092a56f6442fb3886 : FAILURE in 26m 18s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/2d4f577dd7114e0b8690ac011d11a4c9 : SUCCESS in 31m 38s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"a0d7ce54c1c3bdde5e613fd48b1f1590c5489da8","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-10-08 14:27:08.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":"c3d5c52c2d21926a2bcfdb5e9eeb64c6c502336e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 15:39:39.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"ff5b9916a57a9372de2f5d536927f2d81269afd8","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 18:29:44.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6e73c018400a40ec9ea290c890c0f920\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ebcccab1e1df434bb987f1a51536a0b1 : SUCCESS in 57m 26s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/1527599335484744a68f84121308907f : SUCCESS in 1h 33m 17s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/248481bd242c4f908e3862727191fd3d : SUCCESS in 53m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ab676a0753da4dd5a0497e5b6eda0393 : SUCCESS in 7m 39s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/ba80416cc2324a69aa6477dbf936fb9f : SUCCESS in 12m 31s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/e87b7e0b41994b229d941d45f683cc12 : SUCCESS in 12m 55s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/be685190ee3e46318e6db8bc1104112b : SUCCESS in 12m 30s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/fd16a9c973cb4bff9aad72e3c21341a3 : SUCCESS in 58m 46s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/2dd7e2387dea44c4a841e9bebf01709d : SUCCESS in 26m 36s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/8269186f837042deb03ba54a6950f4f2 : SUCCESS in 24m 18s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/59d29ca09aa6443a95c73c77ec0af7ef : SUCCESS in 26m 45s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/37970edbc0cc46fe85c7100b5628374e : SUCCESS in 1h 49m 47s\n- nova-next https://zuul.opendev.org/t/openstack/build/3051b77cd8dd4ce3a9955f3d78673175 : SUCCESS in 2h 44m 55s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/b008e1fe93344466b690d18f8384d3c5 : SUCCESS in 4m 57s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/d6c9f2c7b7eb4848b38f8db733c0da0b : SUCCESS in 1h 26m 55s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/e09c735c48cb46538ba0c29a17b14fc3 : SUCCESS in 1h 07m 08s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/97b3b571831047b0b71883f80c1e6e49 : SUCCESS in 49m 40s","accounts_in_message":[],"_revision_number":1},{"id":"e4d8364cfd8fb8ac169b4d2316e680824426d79d","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 18:29:44.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"b359d14bf9e3464130ae68c6c6c215f068718ceb","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 18:30:51.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7a87c8f2f0a2468d96d7da4a04df5288\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c2ccb08c74d644fd999bfe167eee2a2f : SUCCESS in 48s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"78be1679312768383b684fa70ca4d2f5c4e35fa9","revisions":{"78be1679312768383b684fa70ca4d2f5c4e35fa9":{"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/43/960243/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/43/960243/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/43/960243/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/43/960243/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/43/960243/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/43/960243/1"}}},"commit":{"parents":[{"commit":"a63b4e04b35f85acfee29c2ff67bf2ef6d19c533","subject":"[PCI tracker]Remove non configured devs when freed","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a63b4e04b35f85acfee29c2ff67bf2ef6d19c533"}]}],"author":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-07-04 15:06:29.000000000","tz":120},"committer":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-09-09 09:05:49.000000000","tz":120},"subject":"[pci]Keep used dev in Placement regardless of dev_spec","message":"[pci]Keep used dev in Placement regardless of dev_spec\n\nThis changes the PCI Placement translator edge case handling logic to\nresolve a bug preventing VM deletion.\n\nIf a device is allocated but removed from the dev_spec then we need to\nkeep the device in Placement otherwise the Placement update will be\nrejected as we are trying to delete an RP that has allocations. This\nprevent the deletion of a VM that is using this removed device.\n\nThe alternative would be to not allow the nova-compute service to\nstart if it detects this situation. However this situation can\nhappen in at least two very different cases:\n1. The admin removed a dev_spec. In this case adding the dev_spec back,\n   removing the VM, then removing the dev_spec is the right course of\n   action and nova-compute failing to start would be OK to enforce this.\n\n2. A device disappeared as the HW is died. In this case not allowing the\n   nova-compute to start up would prevent the admin to migrate the\n   other VMs away from the host before doing a HW replacement.\n\nNote that this is fairly complex change due to the fact that based on\npurely the PciDevice object we cannot differentiate between the two\ncases:\n\n1. A PciDevice object is being removed as the related device spec is\n   removed from the configuration or the device is disappeared from\n   the hypervisor.\n\n2. A PciDevice object was held back for a while as the device spec is\n   removed (or the device disappeared from the hypervisor) while the\n   device was allocated to a VM. And now that VM is undergoing deletion.\n\nIn both case the PCI in Placement logic sees a PciDevice object in\ndev.status.REMOVED and dev.instance_uuid \u003d None. However the two cases\nrequire different handling.\n\n1. The related inventory can be removed from Placement\n\n2. The related inventory cannot be removed from Placement as it is still\n   being allocated to the VM that is undergoing deletion.\n\nThe second case is due to the sequence of events during a VM deletion\nbeing:\n* We destroy the VM on the hypervisor\n* We update the PCI tracker to free the device. As the device was held back\n  the tracker not just frees the device but removes it as well as it is\n  not configured any more in the dev_spec so it should not go to\n  AVAILABLE state.\n* When the PCI tracker is updated it calls the PCI in Placement logic\n  to update Placement inventories as well. At this point the VM deletion\n  still in progress and the VM\u0027s allocation hasn\u0027t been deleted in\n  Placement, so the Placement inventory cannot be removed as it is still\n  allocated.\n* After the resource tracker update is finished the compute manager\n  deletes the VM\u0027s allocation in Placement.\n\nSo in this edge case we temporarily keep the Placement inventory and\nonly remove that in a subsequent periodic run where we are sure the\nVM\u0027s allocation is gone. This means there is a time window when\nthe Placement inventory shows an extra resource even though that\nresource has already been removed from the PCI tracker. During this\nwindow the scheduler might select a host based on this ghost inventory\nand the compute resource tracker will reject the boot request forcing\na normal re-schedule.\n\n2025.1 Conflicts:\n  nova/compute/pci_placement_translator.py\n  nova/tests/unit/compute/test_pci_placement_translator.py\n  both is due to OTU feature not exists in 2025.1\n\nCloses-Bug: #2115905\nChange-Id: Ie9d311ea9f59ff49593003e3773b690dd36fdeb2\nSigned-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e\n(cherry picked from commit 4495f1f019ccaa0067121d8f5b367140aa9cb7ae)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/78be1679312768383b684fa70ca4d2f5c4e35fa9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/78be1679312768383b684fa70ca4d2f5c4e35fa9"}]},"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":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}},{"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":{}}}]}
