)]}'
{"id":"openstack%2Fnova~980541","triplet_id":"openstack%2Fnova~stable%2F2025.1~Id3442c3d315e6bb63e6c3675f4ab104885b3884f","project":"openstack/nova","branch":"stable/2025.1","topic":"bug/2077980","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-04-29 01:24:39.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Id3442c3d315e6bb63e6c3675f4ab104885b3884f","subject":"api: Handle empty imageRef alongside null for local BDM check","status":"MERGED","created":"2026-03-13 22:32:36.000000000","updated":"2026-04-29 01:27:33.000000000","submitted":"2026-04-29 01:24:39.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"980541-bug/2077980","cherry_pick_of_change":980540,"cherry_pick_of_patch_set":1,"meta_rev_id":"84370f0b420483ab012149ecb8e12c69c77ce33a","_number":980541,"virtual_id_number":980541,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-29 01:24:39.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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":2,"date":"2026-04-28 23:05:52.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":2,"date":"2026-04-21 12:55:13.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"]}],"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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":1,"date":"2026-04-28 23:05:52.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"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"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"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"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_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":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-13 23:09:45.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-03-14 00:43:56.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-03-14 04:26:14.000000000","updated_by":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"reviewer":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-04-21 12:55:13.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":"2026-04-28 23:05:52.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"state":"REVIEWER"}],"messages":[{"id":"78eca436ec11d69aa0a14ff44fa817ee1b0dba73","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-13 22:32:36.000000000","message":"Patch Set 1: Cherry Picked from branch stable/2025.2.","accounts_in_message":[],"_revision_number":1},{"id":"2ec19ccbc112fc23acd91c4686041fe3a714a668","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-13 22:32:57.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"6ab7ca2266632489d679209e18f642de24929ba1","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-13 22:33:08.000000000","message":"Topic bug/2077980-stable/2025.1 removed","accounts_in_message":[],"_revision_number":2},{"id":"778ad461bf6bccd3f8c72113bb195ae2f65e46e3","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-13 22:33:11.000000000","message":"Topic set to bug/2077980","accounts_in_message":[],"_revision_number":2},{"id":"d2656fab3b358da6fca036eb0205e41e5bd49014","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-03-13 23:09:45.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Id3442c3d315e6bb63e6c3675f4ab104885b3884f .","accounts_in_message":[],"_revision_number":1},{"id":"3c5c3848172df62ec1a5e443d2b77bec4114bcce","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-03-13 23:10:56.000000000","message":"Patch Set 2:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Id3442c3d315e6bb63e6c3675f4ab104885b3884f .","accounts_in_message":[],"_revision_number":2},{"id":"3371269ae4a3e2a46e4440b8b5b8af7431c4f65e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-14 00:43:56.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f966f47f7b774e37a293312d195449d0\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/4dcfce0b56744b529558ca44518ae61f : FAILURE in 47m 55s (non-voting)\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/39abcaa24d4843a986e5cb9ae18a7ce6 : SUCCESS in 1h 18m 17s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/0ef46d27b27b42678c3efccfc63dd987 : SUCCESS in 33m 41s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a42d5617c9a24badbaa2174970b95e93 : SUCCESS in 20m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/27ac3e59e2fd4ce9a18f2937ccdce833 : SUCCESS in 3m 57s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/be35dd11e9314c7d840408a5a456055d : SUCCESS in 17m 11s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/58af83be95dc49b68c1d5bde4a74f08a : SUCCESS in 13m 42s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/df144620333f499c99daab1bb67b9c72 : SUCCESS in 11m 57s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/8f55af41835e4f62bad2c54699947b5a : SUCCESS in 1h 04m 41s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/929cc4d60a154e52995fc8c8f2364280 : SUCCESS in 1h 40m 52s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/f5f533a932fc45eb93b353bce30e49ac : SUCCESS in 58m 12s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/8c8296477ac74c2fb9fdec330b78a284 : SUCCESS in 1h 01m 42s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/9ce65f79e955477fbdf020bf309d5832 : SUCCESS in 1h 52m 49s\n- nova-next https://zuul.opendev.org/t/openstack/build/295c074d640149c982b0a6976f80462d : SUCCESS in 2h 05m 30s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/70a31863069d4c3fa854e87b379b2af6 : SUCCESS in 36m 50s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/7014b7d00d2f43ccba77aff44f0f307e : FAILURE in 4m 51s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/c7fde8c87a8142a0a13b19dcb12b7afa : SUCCESS in 28m 44s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/cf603c316f3840a0872ea9a5edd8dbcf : SUCCESS in 29m 03s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/674a4257616b48508990152204bbce07 : SUCCESS in 24m 33s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/14943be27b4b498b89fa7cb03ff4f110 : SUCCESS in 1h 21m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/97944100de2b4d058942f1177516425f : SUCCESS in 55m 48s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/e32676586bf24739a8cc58c07567eea0 : SUCCESS in 17m 05s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/feab2a7ab1b8403fa6834fb65b7fad04 : SUCCESS in 26m 59s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"449dd819e405696b187a1227f389b54d3350b52f","tag":"autogenerated:sap-openstack-ci~result","author":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"date":"2026-03-14 04:26:14.000000000","message":"Patch Set 2:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-980541-g2r64/index.html\u003e","accounts_in_message":[],"_revision_number":2},{"id":"3a9fec3e09c5a06234bf69bbaa5a36d9c8456159","tag":"autogenerated:sap-openstack-ci~result","author":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"date":"2026-03-14 07:15:09.000000000","message":"Patch Set 1:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-980541-xzfpx/index.html\u003e","accounts_in_message":[],"_revision_number":1},{"id":"0a58a6d25b3277d69d1b6fbfa4a14aa0df552eb9","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2026-04-21 12:55:13.000000000","message":"Patch Set 2: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"39489f58c3bde6cc0d3b0a320921de7f46c6a587","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-04-28 23:05:52.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"02ffce8211530adf09aaa3817e4e6bc47764d783","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 23:06:34.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"cdabba06102944df970699634721ae9fae79484c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-29 01:24:39.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/97577d521bfa4bb0bf7f5ebd5f9b6daa\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6c683d1d83144db5afd804001616d6ba : FAILURE in 56m 40s (non-voting)\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/630ed581bfb74caca75203bf17e1c3d0 : SUCCESS in 1h 53m 36s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2c66efefc4d74ab29bd06ca9103c6caa : SUCCESS in 48m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/69abd2ead5d44c9e8082ec59890d34c9 : SUCCESS in 7m 44s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/00077de8220448e2af6e71bcc5c5cef7 : SUCCESS in 11m 48s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/0c7a3e17fd9547049720a514a711eb8a : SUCCESS in 8m 31s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/08634549227549df8f1f35e6df82f4d0 : SUCCESS in 12m 01s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/3c6f8bc97a9648bebd35e5f7c1ea8aa8 : SUCCESS in 41m 31s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/6cb4d1e4f0bc41d5bc972f58017ef887 : SUCCESS in 21m 43s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/fac3d850488143ab974348364c6833a6 : SUCCESS in 27m 41s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/7ae5ac4b0d72426ca8fb7418fe300a61 : SUCCESS in 27m 59s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/211d17a0089a4f73bdc18a0820b536f0 : SUCCESS in 1h 32m 28s\n- nova-next https://zuul.opendev.org/t/openstack/build/9e8d802117084c248ef082c71613955c : SUCCESS in 2h 10m 59s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/a1ecf05561d4478593d75289d12ec776 : SUCCESS in 3m 35s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/87c6c24d365540ba9d3b8151108648c4 : SUCCESS in 1h 21m 26s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/3436b2795b9940ef8943734e6a534a78 : SUCCESS in 1h 40m 13s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ce8790bb05054e17918cee4b3181ef5e : SUCCESS in 41m 21s","accounts_in_message":[],"_revision_number":2},{"id":"a0787dfe9c9055528f96eff24e929729a7c595e5","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-29 01:24:39.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"84370f0b420483ab012149ecb8e12c69c77ce33a","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-29 01:27:33.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f941a525e6d84e7182df046708d11f40\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1116994b1d56410fbc3d7b5d53fe7589 : SUCCESS in 48s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"80551125dd7d6c2e81539e03e600de0b68d9b641","revisions":{"0481ae4496c16edab5f7be53373f26712c13f5b1":{"kind":"REWORK","_number":1,"created":"2026-03-13 22:32:36.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/41/980541/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/41/980541/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/980541/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/980541/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/980541/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/41/980541/1"}}},"commit":{"parents":[{"commit":"d524501deb11a6179726d3ee91e755b7dc249a2a","subject":"Merge \"Make disk.extend() pass format to qemu-img\" into stable/2025.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d524501deb11a6179726d3ee91e755b7dc249a2a"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2024-08-27 16:16:54.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-03-13 22:32:36.000000000","tz":0},"subject":"api: Handle empty imageRef alongside null for local BDM check","message":"api: Handle empty imageRef alongside null for local BDM check\n\nWe don\u0027t want users creating BDMs with source_type\u003dimage,\ndestination_type\u003dlocal and boot_index\u003d0, since that redefines our root\ndisk definition which should be controlled by the flavor\u0027s \u0027disk\u0027\nproperty. We did have a check for this, but it explicitly checked for\nthe \u0027imageRef\u0027 being set to null - which isn\u0027t permitted by the schemas\n-instead of the empty string that is expected when creating a BFV\ninstance. Correct this check.\n\nChange-Id: Id3442c3d315e6bb63e6c3675f4ab104885b3884f\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\nCloses-Bug: #2077980\n(cherry picked from commit 53eb2cdeab4d25c8842d1f76e074ed3c24323d0d)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/0481ae4496c16edab5f7be53373f26712c13f5b1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/0481ae4496c16edab5f7be53373f26712c13f5b1"}]},"branch":"refs/heads/stable/2025.1"},"80551125dd7d6c2e81539e03e600de0b68d9b641":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-03-13 22:32:57.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/41/980541/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/41/980541/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/980541/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/980541/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/41/980541/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/41/980541/2"}}},"commit":{"parents":[{"commit":"d524501deb11a6179726d3ee91e755b7dc249a2a","subject":"Merge \"Make disk.extend() pass format to qemu-img\" into stable/2025.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d524501deb11a6179726d3ee91e755b7dc249a2a"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2024-08-27 16:16:54.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-03-13 22:32:57.000000000","tz":0},"subject":"api: Handle empty imageRef alongside null for local BDM check","message":"api: Handle empty imageRef alongside null for local BDM check\n\nWe don\u0027t want users creating BDMs with source_type\u003dimage,\ndestination_type\u003dlocal and boot_index\u003d0, since that redefines our root\ndisk definition which should be controlled by the flavor\u0027s \u0027disk\u0027\nproperty. We did have a check for this, but it explicitly checked for\nthe \u0027imageRef\u0027 being set to null - which isn\u0027t permitted by the schemas\n-instead of the empty string that is expected when creating a BFV\ninstance. Correct this check.\n\nChange-Id: Id3442c3d315e6bb63e6c3675f4ab104885b3884f\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\nCloses-Bug: #2077980\n(cherry picked from commit 53eb2cdeab4d25c8842d1f76e074ed3c24323d0d)\n(cherry picked from commit 96b0126895a0892c55a5a35cb26f71d627738cbb)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/80551125dd7d6c2e81539e03e600de0b68d9b641"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/80551125dd7d6c2e81539e03e600de0b68d9b641"}]},"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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}},{"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"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":"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
