← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1732947] Re: volume-backed instance rebuild with no image change is still going through scheduler

 

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 <mriedem.os@xxxxxxxxx>
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


References