Reviewed: https://review.openstack.org/521391 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=54407afef3b446e34c44ba5392ccbf121e266de2 Submitter: Zuul Branch: master
commit 54407afef3b446e34c44ba5392ccbf121e266de2 Author: Matt Riedemann <[email protected]> Date: Sun Nov 19 17:25:56 2017 -0500 Get original image_id from volume for volume-backed instance rebuild A volume-backed instance will not have the instance.image_ref attribute set, to indicate to the API user that it is a volume-backed instance. Commit 984dd8ad6add4523d93c7ce5a666a32233e02e34 missed this subtle difference with how instance.image_ref is used, which means a rebuild of any volume-backed instance will now run through the scheduler, even if the image_href passed to rebuild is the same image ID as for the root volume. This fixes that case in rebuild by getting the image metadata off the root volume for a volume-backed instance and compares that to the image_href passed to rebuild. Change-Id: I48cda813b9effa37f6c3e0cd2e8a22bb78c79d72 Closes-Bug: #1732947 ** 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/1732947 Title: volume-backed instance rebuild with no image change is still going through scheduler Status in OpenStack Compute (nova): Fix Released Status in OpenStack Compute (nova) newton series: Confirmed Status in OpenStack Compute (nova) ocata series: Confirmed Status in OpenStack Compute (nova) pike series: Confirmed Bug description: Due to this recent change: https://github.com/openstack/nova/commit/984dd8ad6add4523d93c7ce5a666a32233e02e34 And the fact that volume-backed instances don't store the instance.image_ref value to indicate they are volume-backed, this condition will always evaluate to True: https://github.com/openstack/nova/blob/984dd8ad6add4523d93c7ce5a666a32233e02e34/nova/compute/api.py#L2959 And we'll unnecessarily call through the scheduler again to validate the instance on the original host during the rebuild even if the image isn't changing. For a volume-backed instance, we have to get the original image_id from the volume's volume_image_metadata field: https://review.openstack.org/#/c/520686/ To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1732947/+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

