Reviewed: https://review.opendev.org/752090 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=f9b67893acf94c06fd41be36b80b99788dc77e48 Submitter: Zuul Branch: master
commit f9b67893acf94c06fd41be36b80b99788dc77e48 Author: Lee Yarwood <[email protected]> Date: Tue Sep 15 18:17:04 2020 +0100 compute: Skip cinder_encryption_key_id check when booting from volume Idf84ccff254d26fa13473fe9741ddac21cbcf321 added this check in order for Nova to avoid booting encrypted images created by Cinder as there is currently no support for using such images (rotating keys etc). The check however missed the slightly convoluted use case where this image property is found against a volume after the volume in question is created using an encrypted image created by cinder from an encrypted volume. In other words: - Cinder creates an encrypted volume A - Glance creates an encrypted image A from volume A - Cinder creates an encrypted volume B from image A - Nova attempts to boot an instance using volume B Note that Nova may request the creation of volume B or a user could also do this directly through Cinder. As such this change simply ensures that the instance isn't booting from a volume when preforming the check as it is only valid when booting from an image. Closes-Bug: #1895696 Change-Id: Ic92cab7362fa25050e5bbef5c3e360108365b5c7 ** Changed in: nova Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1895696 Title: unable to boot instance from encrypted volume created from a glance image of an encrypted volume Status in Cinder: New Status in OpenStack Compute (nova): Fix Released Bug description: Description =========== What the title says, plus see "steps to reproduce" below. This is a regression caused by the fix for https://bugs.launchpad.net/nova/+bug/1852106 Steps to Reproduce ================== 1. Let Image-1 be a "regular" (non-encrypted, bootable) image in Glance (like the cirros image). 2. Create volume V-1 in Cinder from Image-1 specifying encrypted volume-type T-1. 3. Boot an instance from V-1 (make sure delete-on-terminate is false). Works fine. Delete the instance to free up the volume. 4. Call cinder upload-to-image on V-1 to create Image-2. 5. Create volume V-2 in Cinder specifying encrypted volume-type T-1 from Image-2. 6. Boot an instance from V-2. Expected result =============== Working instance booted from volume. Actual result ============= ERROR (BadRequest): Image None is unacceptable: Direct booting of an image uploaded from an encrypted volume is unsupported. (HTTP 400) Note: If we bypass the check at https://review.opendev.org/#/c/707738/3/nova/compute/api.py@894, the instance goes 'active' and is operable (you can ssh into it). (Of course, we don't want to bypass the check, it just needs to be made aware that we are booting from a volume, not trying to boot from an image.) To manage notifications about this bug go to: https://bugs.launchpad.net/cinder/+bug/1895696/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

