← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1750618] Re: rebuild to same host with a different image results in erroneously doing a Claim

 

Reviewed:  https://review.openstack.org/546268
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=a39029076c7997236a7f999682fb1e998c474204
Submitter: Zuul
Branch:    master

commit a39029076c7997236a7f999682fb1e998c474204
Author: Matt Riedemann <mriedem.os@xxxxxxxxx>
Date:   Tue Feb 20 13:48:12 2018 -0500

    Only attempt a rebuild claim for an evacuation to a new host
    
    Change I11746d1ea996a0f18b7c54b4c9c21df58cc4714b changed the
    behavior of the API and conductor when rebuilding an instance
    with a new image such that the image is run through the scheduler
    filters again to see if it will work on the existing host that
    the instance is running on.
    
    As a result, conductor started passing 'scheduled_node' to the
    compute which was using it for logic to tell if a claim should be
    attempted. We don't need to do a claim for a rebuild since we're
    on the same host.
    
    This removes the scheduled_node logic from the claim code, as we
    should only ever attempt a claim if we're evacuating, which we
    can determine based on the 'recreate' parameter.
    
    Change-Id: I7fde8ce9dea16679e76b0cb2db1427aeeec0c222
    Closes-Bug: #1750618


** 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/1750618

Title:
  rebuild to same host with a different image results in erroneously
  doing a Claim

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) ocata series:
  In Progress
Status in OpenStack Compute (nova) pike series:
  In Progress
Status in OpenStack Compute (nova) queens series:
  In Progress

Bug description:
  As of stable/pike if we do a rebuild-to-same-node with a new image, it
  results in ComputeManager.rebuild_instance() being called with
  "scheduled_node=<hostname>" and "recreate=False".  This results in a
  new Claim, which seems wrong since we're not changing the flavor and
  that claim could fail if the compute node is already full.

  The comments in ComputeManager.rebuild_instance() make it appear that
  it expects both "recreate" and "scheduled_node" to be None for the
  rebuild-to-same-host case otherwise it will do a Claim.  However, if
  we rebuild to a different image it ends up going through the scheduler
  which means that "scheduled_node" is not None.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1750618/+subscriptions


References