)]}'
{"id":"openstack%2Fnova~957759","triplet_id":"openstack%2Fnova~stable%2F2025.1~I439338bd2f27ccd65a436d18c8cbc9c3127ee612","project":"openstack/nova","branch":"stable/2025.1","topic":"bug/2112187","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2025-08-19 09:08:05.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I439338bd2f27ccd65a436d18c8cbc9c3127ee612","subject":"restrict swap volume to cinder","status":"MERGED","created":"2025-08-18 16:06:21.000000000","updated":"2025-08-19 09:09:12.000000000","submitted":"2025-08-19 09:08:05.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"957759-bug/2112187","meta_rev_id":"fb5eb84b7b23ff210e7cabacd9fc69473312c615","_number":957759,"virtual_id_number":957759,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"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":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-08-19 09:08:05.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":"","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-08-19 06:57:26.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":2,"date":"2025-08-18 16:21:10.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":1,"date":"2025-08-19 01:01:22.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"all":[{"value":1,"date":"2025-08-19 06:57:26.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_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,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_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":{"REVIEWER":[{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-08-18 16:21:10.000000000","updated_by":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2025-08-18 17:18:42.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-08-18 17:18:55.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-08-19 01:01:22.000000000","updated_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"reviewer":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"state":"REVIEWER"},{"updated":"2025-08-19 03:39:34.000000000","updated_by":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"reviewer":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"state":"CC"},{"updated":"2025-08-19 06:57:26.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"}],"messages":[{"id":"93f483de54b651703d8655714ae8c3376a7d61cd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-08-18 16:06:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"87cc2f8a2d146f0a2a0eba7ba1be667705293f13","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-08-18 16:13:53.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"692f54e024ea3bfe881d01d1d0dd8026c644b5d6","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-08-18 16:21:10.000000000","message":"Patch Set 2: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"2e8f21fc9eb57a23f9e45579f7cb777937343530","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-18 17:18:42.000000000","message":"Patch Set 2:\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/957753 is needed.","accounts_in_message":[],"_revision_number":2},{"id":"63559cbf70dc5124384ee7ba075c6754a88382ee","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-18 17:18:55.000000000","message":"Patch Set 2: Verified-1\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/957753 is needed.","accounts_in_message":[],"_revision_number":2},{"id":"1759f9c5a1abf92f8729e9a0e173667e325f520f","author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"date":"2025-08-19 01:01:22.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"9ea9f72a1d603e8779f35e3b3443da3444d6a0ea","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-19 01:31:59.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0479d780ccdd45fba9ebefe38ccd09d6\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/a7b337fc80d84f2dbf98032d6fe71370 : SUCCESS in 24m 17s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6a1e3347dd384cb299872028bc6b0a64 : SUCCESS in 27m 48s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"dfd63736d84dad409df7121d84a4fad962790b31","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-19 03:34:07.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c8cf2d28a8ca4ebfa5871709ab861abf\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/24bc68bee0234f51a63763a93da91210 : SUCCESS in 25m 30s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/da698048adc74414950bae52a2e48246 : SUCCESS in 1h 40m 22s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/60f57c2eeddd4896b9513ec49ecd573f : SUCCESS in 58m 00s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/735c607d046f4d24b4e9a75a188245b6 : SUCCESS in 17m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/aea936356f544e11bf63371ca6c1ff01 : SUCCESS in 9m 39s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/a22f72b943994ea7addb9b2218d10ccd : SUCCESS in 12m 10s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/88331745901e4f4bb12776075ea9ff76 : SUCCESS in 10m 55s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cbafbc7b703d4a148dc3cc314a20f9a5 : SUCCESS in 10m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8b5d523057aa4440a05bbca4985b0298 : SUCCESS in 27m 18s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/8f355fed94dc4289a303f1ea91f29eb3 : SUCCESS in 33m 19s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/729d303be6294ca48693ce6de61e19dc : SUCCESS in 1h 39m 10s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/39b7b5ac857c433b91d8a79a765c0fe2 : SUCCESS in 32m 02s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/1d840e36a71a41918aca01f45f765da1 : SUCCESS in 51m 57s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/046dcf0d8f4f4d6a9916882357f79ee6 : SUCCESS in 1h 10m 24s\n- nova-next https://zuul.opendev.org/t/openstack/build/bcb2db35b81543dca931d1de579518cf : SUCCESS in 2h 29m 15s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/c8800db349c94b51894d8361974f63ca : SUCCESS in 43m 55s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/8b1d8971de43445f8731600ad97b78d4 : SUCCESS in 6m 45s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/65c0807692524217b00af5db7602b10f : SUCCESS in 27m 20s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/d70f78d9b1694b0a96fad1c3871141af : SUCCESS in 27m 10s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/d2cc6eb62b764c7bac93c4c768c9c71a : SUCCESS in 32m 26s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/428cc66cee64467cbde8c226d45b9af0 : SUCCESS in 1h 27m 30s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5fceaa9eab004aa1945bd0e585032111 : SUCCESS in 54m 37s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/c7e62f0d63514f4285cbd6fe8f5ba92d : FAILURE in 17m 55s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/a0cffba03ef44020b70f9526fe3d3d55 : SUCCESS in 35m 03s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"492842ebb4b59d9a4936d0d0b5fc04a28e91839d","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-08-19 03:39:34.000000000","message":"Patch Set 2:\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":2},{"id":"a48f62d1ed14c7e2f00b65f3209f7254e74e0c35","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-08-19 06:57:26.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"12e6a055c49ccf76c4cb6baf01f14bf23b21fde1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-19 06:57:53.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"f59aab695984ee7c344248ea08e2dbc22582854d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-19 09:08:05.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d1279e73826f4ff2a1bb27c676cd2c04\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d1427c2290cd4cbf9a23a49579df2291 : SUCCESS in 28m 32s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/9f480255d49c4a9fb4bb5a9351b443b2 : SUCCESS in 1h 53m 15s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2ea9aeb5fab94203a1ea3a90b1927f52 : SUCCESS in 1h 10m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0e7cfc828de049e4ac1ed7a64d0eae55 : SUCCESS in 6m 04s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/ad6ca3332c584331a888dbede847cc85 : SUCCESS in 12m 32s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/3b4b6d14636b4096b5dc40ca7f5c29be : SUCCESS in 15m 41s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1e873db0a29c4963a12fefa3e68e49d7 : SUCCESS in 8m 43s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/cf3a86292c2444a0a0e635859afe8207 : SUCCESS in 34m 42s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/7ee733aee60548fa8cba512c220dc1d7 : SUCCESS in 56m 28s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/55c35678478f4683aea89361382360fd : SUCCESS in 30m 57s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/5b0a70d2fe624db9b66d8f035fac177b : SUCCESS in 26m 53s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/277fc33c1bcc4b7a9caa8bca21cb3a61 : SUCCESS in 35m 01s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/bd628f8fa5234e5cbb116734699a0a73 : SUCCESS in 1h 16m 07s\n- nova-next https://zuul.opendev.org/t/openstack/build/9718441f4a2349b893cfe38d94a4ea14 : SUCCESS in 2h 07m 27s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/05baa3b518244ea5926177a52fba3b25 : SUCCESS in 6m 47s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/74c5a6cdbba9461a9e97d8e15c93d87d : SUCCESS in 1h 36m 07s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/2ffd456674974e468aac68c2131ff16c : SUCCESS in 1h 04m 03s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/626a21d45a5244d8971d30dc29c82f76 : SUCCESS in 40m 57s","accounts_in_message":[],"_revision_number":2},{"id":"3782a705e1b569e808c91c0fa036e12d8bf8f65f","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-19 09:08:05.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"fb5eb84b7b23ff210e7cabacd9fc69473312c615","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-19 09:09:12.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7d2a1baf05404fa8bd3c143c1f3e7fc9\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/82bdf43ded6f486b83c5dbe963e40245 : SUCCESS in 51s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9f332aadd87a42ec80fd5bb76a393aaf : SUCCESS in 45s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"76fe0294ffa8fc2444727ba8da584724d2493d56","revisions":{"ae113e62f0eba5cb0b63216fc79a263830c6a004":{"kind":"REWORK","_number":1,"created":"2025-08-18 16:06:21.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/59/957759/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/59/957759/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/59/957759/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/59/957759/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/59/957759/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/59/957759/1"}}},"commit":{"parents":[{"commit":"63433cca8e4591aefb1156efe5853a3f583e37db","subject":"Merge \"Fix neutron client dict grabbing\" into stable/2025.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/63433cca8e4591aefb1156efe5853a3f583e37db"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-08-15 13:33:34.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-08-15 13:33:34.000000000","tz":60},"subject":"restrict swap volume to cinder","message":"restrict swap volume to cinder\n\nThis change tightens the validation around the attachment\nupdate API to ensure that it can only be called if the source\nvolume has a non empty migration status.\n\nThat means it will only accept a request to swap the volume if\nit is the result of a cinder volume migration.\n\nThis change is being made to prevent the instance domain\nXML from getting out of sync with the nova BDM records\nand cinder connection info. In the future support for direct\nswap volume actions can be re-added if and only if the\nnova libvirt driver is updated to correctly modify the domain.\nThe libvirt driver is the only driver that supported this API\noutside of a cinder orchestrated swap volume.\n\nBy allowing the domain XML and BDMs to get out of sync\nif an admin later live-migrates the VM the host path will not be\nmodified for the destination host. Normally this results in a live\nmigration failure which often prompts the admin to cold migrate instead.\nhowever if the source device path exists on the destination the migration\nwill proceed. This can lead to 2 VMs using the same host block device.\nAt best this will cause a crash or data corruption.\nAt worst it will allow one guest to access the data of another.\n\nPrior to this change there was an explicit warning in nova API ref\nstating that humans should never call this API because it can lead\nto this situation. Now it considered a hard error due to the\nsecurity implications.\n\nCloses-Bug: #2112187\nChange-Id: I439338bd2f27ccd65a436d18c8cbc9c3127ee612\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n(cherry picked from commit 821f9976fb2422461445d61b92d86b56401cb41d)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ae113e62f0eba5cb0b63216fc79a263830c6a004"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ae113e62f0eba5cb0b63216fc79a263830c6a004"}]},"branch":"refs/heads/stable/2025.1"},"76fe0294ffa8fc2444727ba8da584724d2493d56":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2025-08-18 16:13:53.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/59/957759/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/59/957759/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/59/957759/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/59/957759/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/59/957759/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/59/957759/2"}}},"commit":{"parents":[{"commit":"63433cca8e4591aefb1156efe5853a3f583e37db","subject":"Merge \"Fix neutron client dict grabbing\" into stable/2025.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/63433cca8e4591aefb1156efe5853a3f583e37db"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-08-15 13:33:34.000000000","tz":60},"committer":{"name":"sean mooney","email":"work@seanmooney.info","date":"2025-08-18 16:13:53.000000000","tz":0},"subject":"restrict swap volume to cinder","message":"restrict swap volume to cinder\n\nThis change tightens the validation around the attachment\nupdate API to ensure that it can only be called if the source\nvolume has a non empty migration status.\n\nThat means it will only accept a request to swap the volume if\nit is the result of a cinder volume migration.\n\nThis change is being made to prevent the instance domain\nXML from getting out of sync with the nova BDM records\nand cinder connection info. In the future support for direct\nswap volume actions can be re-added if and only if the\nnova libvirt driver is updated to correctly modify the domain.\nThe libvirt driver is the only driver that supported this API\noutside of a cinder orchestrated swap volume.\n\nBy allowing the domain XML and BDMs to get out of sync\nif an admin later live-migrates the VM the host path will not be\nmodified for the destination host. Normally this results in a live\nmigration failure which often prompts the admin to cold migrate instead.\nhowever if the source device path exists on the destination the migration\nwill proceed. This can lead to 2 VMs using the same host block device.\nAt best this will cause a crash or data corruption.\nAt worst it will allow one guest to access the data of another.\n\nPrior to this change there was an explicit warning in nova API ref\nstating that humans should never call this API because it can lead\nto this situation. Now it considered a hard error due to the\nsecurity implications.\n\nCloses-Bug: #2112187\nDepends-on: https://review.opendev.org/c/openstack/tempest/+/957753\nChange-Id: I439338bd2f27ccd65a436d18c8cbc9c3127ee612\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n(cherry picked from commit 93c0f9bc749cea39f9cd1bd9d3e5a5585f1f6cac)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/76fe0294ffa8fc2444727ba8da584724d2493d56"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/76fe0294ffa8fc2444727ba8da584724d2493d56"}]},"branch":"refs/heads/stable/2025.1","description":"Edit commit message"}},"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":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}},{"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":{}}}]}
