)]}'
{"id":"openstack%2Fnova~1008071","triplet_id":"openstack%2Fnova~master~Ib050d3e57084b7e7680a44a4c4f0b3116f847988","project":"openstack/nova","branch":"master","topic":"bug/2168874","attention_set":{"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2026-10-02 15:54:49.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Ib050d3e57084b7e7680a44a4c4f0b3116f847988","subject":"Fix cross-cell cold migration with PCI devices","status":"NEW","created":"2026-09-30 14:21:46.000000000","updated":"2026-10-02 16:04:26.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"f46902cde7647d8b647d746d84ceeb417f7ea662","_number":1008071,"virtual_id_number":1008071,"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":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-10-02 15:54:41.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"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":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"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":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-30 15:20:43.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":"2026-09-30 15:20:50.000000000","updated_by":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-09-30 16:22: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-10-02 15:54:49.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"}],"messages":[{"id":"7df4d5bb3f2f468819b342e6e100d46ffdba4360","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-09-30 14:21:46.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"80f3c7580e8440890ea99ae92db54173adf01c63","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-30 15:20:43.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f1d2d2a333c442889c0954862a485f2e\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/820149c7de18418e8ca9e2c73639f306 : SUCCESS in 20m 24s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/0e179a29d98f48c19e49e9ff9106471d : SUCCESS in 34m 52s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"6f65b9db4f9ece24c764cb76731c5905726d690b","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-09-30 15:20:50.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Ib050d3e57084b7e7680a44a4c4f0b3116f847988 .","accounts_in_message":[],"_revision_number":1},{"id":"f0fb55c3729e81604d43961916b5cc9ed2baa08a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-30 16:22:21.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/f254cf0edf6e4c569fac03c8c6f25a00\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f0a949c4d43349d5a53dd7389a3476df : SUCCESS in 1h 18m 47s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/b70203ef82e541b3b06d3f8fffa8a155 : SUCCESS in 1h 47m 37s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/dac3a1b01f78444b86d9b4bd371202d4 : SUCCESS in 1h 00m 42s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/63283de58ae94da782ffda0db44e3301 : FAILURE in 1h 28m 35s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ccbd94debb2f4c379d8b58bdb860520d : SUCCESS in 8m 28s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f5461b70a36a42228b3a78d01d0133fe : SUCCESS in 13m 52s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/8228cda480dd42c88120c67c40f44e50 : SUCCESS in 20m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0a972a159e6d40d68e1249cc831234b4 : SUCCESS in 13m 03s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4791222b788b41468be89a9e0d55cea8 : SUCCESS in 10m 01s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/dbddc1f857814c1faf5b657cf040b1bc : SUCCESS in 1h 11m 16s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/6ca27088fd2243bfb014fbc0dc8fccd4 : SUCCESS in 1h 33m 24s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/4daa5d00c63246c1b07c04de30c72b92 : SUCCESS in 30m 28s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/864dfbec0dbc4ded89752b818f07963d : SUCCESS in 36m 39s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/931709c74962409e80e8a43915d25374 : SUCCESS in 1h 04m 30s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/df81371209a740e19b3f4c539bc44c8d : SUCCESS in 53m 54s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/41bd7c1f579145ea995ed96c307a4cc1 : SUCCESS in 50m 25s\n- nova-next https://zuul.opendev.org/t/openstack/build/2c4a2692ba1b4eaf903369be3d2dd499 : SUCCESS in 1h 48m 23s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/35ef423e958c482797ad13c23a74844d : SUCCESS in 28m 13s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/e4441f3bff2b49c5a4e1b8190005e5e5 : SUCCESS in 5m 20s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/aebf63e2fed2450b8a5d62e99b8beef8 : SUCCESS in 26m 41s\n- nova-tox-functional-py314 https://zuul.opendev.org/t/openstack/build/55561f629c85446fa613d7197cc1502f : SUCCESS in 31m 57s\n- nova-tox-functional-py314-threading https://zuul.opendev.org/t/openstack/build/d3b911d5292945849b26457446ea119e : FAILURE in 40m 52s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/8e851453ffdc461093efc3e7cfb6b48c : POST_FAILURE Host unreachable in 54m 06s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/65fcb258386e4271a1e071847740747b : SUCCESS in 55m 54s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/e93de85725f24040bb2a17634ecebf7f : SUCCESS in 29m 23s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/d0f188e2c7ce4a5d914b1bc808a0db34 : SUCCESS in 16m 23s (non-voting)\n- nova-tox-py314-threading https://zuul.opendev.org/t/openstack/build/8ffae9d8e8fe4307b4669e4072bdb9d1 : SUCCESS in 19m 24s","accounts_in_message":[],"_revision_number":1},{"id":"7913f68d625f71f0ed54a2945d1b7ea5a0f8c202","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-10-01 08:19:14.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"0c516ca3104094850969078eefa988818487393d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-10-02 12:35:56.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"2ff0af3859704b0f44d609370d4791bfcef7930b","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-10-02 12:36:30.000000000","message":"Patch Set 1: -Workflow\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"6a9305410ad7f5ed689c0829a3fcdcdbca187c06","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-10-02 13:32:58.000000000","message":"Patch Set 2:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Ib050d3e57084b7e7680a44a4c4f0b3116f847988 .","accounts_in_message":[],"_revision_number":2},{"id":"022757c242e577ec1748add6cd18d0fd3455f5b0","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-02 13:58:14.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ca0c106124cc4e0f932ba9965f37676f\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/642d7e7a07484aaeb17990e7099393b1 : SUCCESS in 15m 59s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/e37ca34020f948538b724ba2361a54fa : SUCCESS in 19m 30s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"0b2b1e8356619dcdc23cd1a6f995f452a1a6268c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-02 15:54:41.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/911b4ce8a7eb4f508bc14a245e05bfa9\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f7d7cb89f0b4440ea850876163df64b7 : SUCCESS in 1h 09m 02s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/f50b3a9e233244e79989cbb99ba4698e : SUCCESS in 1h 42m 57s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/931457c41dc64d4cbe43fa392a442e21 : SUCCESS in 44m 05s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/25717714067a42a9baf307f2152863c0 : SUCCESS in 1h 07m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f5ebfac1a2f04ed5a57f818390d8dfe6 : SUCCESS in 10m 20s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d7bb8b3153164450b9e159c59c2a8d6b : SUCCESS in 15m 12s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ce9f017c60bf4ad492e9a306753f3632 : SUCCESS in 19m 38s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3c56fda2796f484f9a2ce926de12f2e8 : SUCCESS in 16m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1f31c4b078804d978ce3df8c399fb028 : SUCCESS in 4m 59s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/96ea8c97d5554485b8baffff3ad0f3a6 : SUCCESS in 1h 12m 37s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/97d1aa200fd846fbb03cef89dbf72f1a : SUCCESS in 49m 13s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/fc607161a15743bfa4ce6a309d74cee9 : SUCCESS in 52m 19s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/c97f9cfd69224ecb9a810ffc3f7fc8e4 : SUCCESS in 36m 55s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/b58b16e394804788a4cc2db2ac0148c9 : SUCCESS in 37m 53s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/a1048c37a7804b1a97c59b15b52b7ed2 : SUCCESS in 50m 33s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/11656badecec42bd8f0c1bd435555204 : SUCCESS in 1h 49m 30s\n- nova-next https://zuul.opendev.org/t/openstack/build/4d71f74cb81f491987932f8888a2ece7 : SUCCESS in 2h 04m 50s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/a44abfed618146c88d7525ae585bcc1e : SUCCESS in 57m 59s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/799dff3298e643a983c210a92b44ed42 : SUCCESS in 5m 55s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/0ed47981df3b4cb38e3b5a05ce2a6bba : SUCCESS in 28m 25s\n- nova-tox-functional-py314 https://zuul.opendev.org/t/openstack/build/6403d6d35296446fac23decc33c670a5 : SUCCESS in 34m 49s\n- nova-tox-functional-py314-threading https://zuul.opendev.org/t/openstack/build/512cc4eb4c664fbf863a84ad82066c62 : SUCCESS in 45m 18s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/2d67a00893cb43d8a717f705d4644a16 : SUCCESS in 1h 23m 56s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c4952ea7e4184337ad9c6974efc4b0a3 : SUCCESS in 59m 55s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/25d4416c290c461ba394cfff1ccfd2ca : SUCCESS in 29m 21s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/4ced4574770544d18090bfc95c7b4e56 : SUCCESS in 37m 46s (non-voting)\n- nova-tox-py314-threading https://zuul.opendev.org/t/openstack/build/9e01715b58aa42e38759fc41c3484736 : SUCCESS in 16m 52s","accounts_in_message":[],"_revision_number":2},{"id":"f46902cde7647d8b647d746d84ceeb417f7ea662","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2026-10-02 16:04:26.000000000","message":"Patch Set 2:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"11df7ed11cfccfafb784e39c5d1cfe25ee36d1fb","revisions":{"9d92484eb2f352649ab7dc7082204ab678d01c23":{"kind":"REWORK","_number":1,"created":"2026-09-30 14:21:46.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/71/1008071/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/71/1008071/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1008071/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1008071/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1008071/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/71/1008071/1"}}},"commit":{"parents":[{"commit":"9a968f403bb7dc34be2e51ad34f9f98233496a63","subject":"Func reproducer for bug/2168874","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9a968f403bb7dc34be2e51ad34f9f98233496a63"}]}],"author":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2026-09-30 13:56:47.000000000","tz":120},"committer":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2026-09-30 14:20:44.000000000","tz":120},"subject":"Fix cross-cell cold migration with PCI devices","message":"Fix cross-cell cold migration with PCI devices\n\nCold migration does not preload PCI requests in the API. Cloning only\nloaded instance fields drops those requests in the destination cell,\ncausing Instance.create to initialize pci_devices to None. Destination\npreparation then fails after partially allocating a PCI device.\n\nLoad the requests in the source cell before cloning the instance. Also\nretain the migration context returned by the destination claim on the\ntarget instance so finish_resize applies the new PCI requests and devices\nbefore spawning the guest. Otherwise the cached None migration context\nleaves the old requests in place and libvirt fails to match request IDs.\n\nPreserve the source PCI devices in the source migration context. The\ndestination\u0027s old device list is empty, so copying it unchanged leaves\nthe source allocation behind on confirmation and loses it on revert.\n\nUpdate the functional reproducer to cover successful cold migration,\nconfirmation, revert, and deletion. Add unit coverage for unloaded PCI\nrequests and the source and destination migration contexts.\n\nCloses-Bug: #2168874\nAssisted-By: Codex GPT-6\nChange-Id: Ib050d3e57084b7e7680a44a4c4f0b3116f847988\nSigned-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9d92484eb2f352649ab7dc7082204ab678d01c23"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9d92484eb2f352649ab7dc7082204ab678d01c23"}]},"branch":"refs/heads/master"},"11df7ed11cfccfafb784e39c5d1cfe25ee36d1fb":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-10-02 12:35:56.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/71/1008071/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/71/1008071/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1008071/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1008071/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1008071/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/71/1008071/2"}}},"commit":{"parents":[{"commit":"de6d08ebdeffc5d237b6f99680f953bdf19af8a2","subject":"Func reproducer for bug/2168874","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/de6d08ebdeffc5d237b6f99680f953bdf19af8a2"}]}],"author":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2026-09-30 13:56:47.000000000","tz":120},"committer":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2026-10-02 12:34:34.000000000","tz":120},"subject":"Fix cross-cell cold migration with PCI devices","message":"Fix cross-cell cold migration with PCI devices\n\nCold migration does not preload PCI requests in the API. Cloning only\nloaded instance fields drops those requests in the destination cell,\ncausing Instance.create to initialize pci_devices to None. Destination\npreparation then fails after partially allocating a PCI device.\n\nLoad the requests in the source cell before cloning the instance. Also\nretain the migration context returned by the destination claim on the\ntarget instance so finish_resize applies the new PCI requests and devices\nbefore spawning the guest. Otherwise the cached None migration context\nleaves the old requests in place and libvirt fails to match request IDs.\n\nPreserve the source PCI devices in the source migration context. The\ndestination\u0027s old device list is empty, so copying it unchanged leaves\nthe source allocation behind on confirmation and loses it on revert.\n\nUpdate the functional reproducer to cover successful cold migration,\nconfirmation, revert, and deletion. Add unit coverage for unloaded PCI\nrequests and the source and destination migration contexts.\n\nCloses-Bug: #2168874\nAssisted-By: Codex GPT-6\nChange-Id: Ib050d3e57084b7e7680a44a4c4f0b3116f847988\nSigned-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/11df7ed11cfccfafb784e39c5d1cfe25ee36d1fb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/11df7ed11cfccfafb784e39c5d1cfe25ee36d1fb"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"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":"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
