← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1797580] [NEW] NoValidHost during live migration after cold migrating to a specified host

 

Public bug reported:

I recreated this with a 2-node devstack in stein created yesterday.

1. create a server
2. cold migrate the server to the other host and specify the host: nova migrate <server> --host <other host>
3. confirm the resize
4. live migrate the server w/o specifying a host so the scheduler has to pick one

At this point, you get a NoValidHost error because the scheduler is
restricted to the current host on which the instance is running because
of the requested_destination field that is persisted in the request spec
from step 2:

http://paste.openstack.org/show/731972/

The problem is when cold migrating a server with a specified target
host, compute API stores that on the request spec and sends it to the
conductor to tell the scheduler which host to use:

https://github.com/openstack/nova/blob/20bc0136d0665bafdcd379f19389a0a5ea7bf310/nova/compute/api.py#L3565

But that request spec requested_destination field gets persisted and
then when you live migrate, it's re-used but since the server is already
on that host, we get NoValidHost since you can't live migrate to the
same host.

This is a regression in Queens: https://review.openstack.org/#/c/408955/

** Affects: nova
     Importance: High
     Assignee: Matt Riedemann (mriedem)
         Status: Triaged

** Affects: nova/queens
     Importance: High
         Status: Confirmed

** Affects: nova/rocky
     Importance: High
         Status: Confirmed


** Tags: live-migration

** Also affects: nova/queens
   Importance: Undecided
       Status: New

** Also affects: nova/rocky
   Importance: Undecided
       Status: New

** Changed in: nova/queens
       Status: New => Confirmed

** Changed in: nova/rocky
       Status: New => Confirmed

** Changed in: nova/rocky
   Importance: Undecided => High

** Changed in: nova/queens
   Importance: Undecided => High

-- 
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/1797580

Title:
  NoValidHost during live migration after cold migrating to a specified
  host

Status in OpenStack Compute (nova):
  Triaged
Status in OpenStack Compute (nova) queens series:
  Confirmed
Status in OpenStack Compute (nova) rocky series:
  Confirmed

Bug description:
  I recreated this with a 2-node devstack in stein created yesterday.

  1. create a server
  2. cold migrate the server to the other host and specify the host: nova migrate <server> --host <other host>
  3. confirm the resize
  4. live migrate the server w/o specifying a host so the scheduler has to pick one

  At this point, you get a NoValidHost error because the scheduler is
  restricted to the current host on which the instance is running
  because of the requested_destination field that is persisted in the
  request spec from step 2:

  http://paste.openstack.org/show/731972/

  The problem is when cold migrating a server with a specified target
  host, compute API stores that on the request spec and sends it to the
  conductor to tell the scheduler which host to use:

  https://github.com/openstack/nova/blob/20bc0136d0665bafdcd379f19389a0a5ea7bf310/nova/compute/api.py#L3565

  But that request spec requested_destination field gets persisted and
  then when you live migrate, it's re-used but since the server is
  already on that host, we get NoValidHost since you can't live migrate
  to the same host.

  This is a regression in Queens:
  https://review.openstack.org/#/c/408955/

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


Follow ups