← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1823370] [NEW] Evacuations are not restricted to the source cell during scheduling

 

Public bug reported:

During most move operations we restrict the request spec to the cell the
instance is in before calling the scheduler:

unshelve:
https://github.com/openstack/nova/blob/a6963fa6858289d048e4d27ce8e61637cd023f4c/nova/conductor/manager.py#L822

cold migrate:
https://github.com/openstack/nova/blob/a6963fa6858289d048e4d27ce8e61637cd023f4c/nova/conductor/tasks/migrate.py#L163

live migrate:
https://github.com/openstack/nova/blob/a6963fa6858289d048e4d27ce8e61637cd023f4c/nova/conductor/tasks/live_migrate.py#L354

But for some reason we don't do that during evacuate (or rebuild to the
same host with forced hosts/nodes when the image changes - which in that
rebuild case means the scheduler is getting nodes from all cells just to
find the one we are forcing):

https://github.com/openstack/nova/blob/a6963fa6858289d048e4d27ce8e61637cd023f4c/nova/conductor/manager.py#L1011

I'm not sure how this would fail, but if the scheduler did pick a host
in another cell things would surely fail because evacuate won't work
across cells (the instance data is in the source cell db).

** Affects: nova
     Importance: Undecided
         Status: New

** Affects: nova/pike
     Importance: Undecided
         Status: New

** Affects: nova/queens
     Importance: Undecided
         Status: New

** Affects: nova/rocky
     Importance: Undecided
         Status: New

** Affects: nova/stein
     Importance: Undecided
         Status: New


** Tags: cells evacuate

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

Title:
  Evacuations are not restricted to the source cell during scheduling

Status in OpenStack Compute (nova):
  New
Status in OpenStack Compute (nova) pike series:
  New
Status in OpenStack Compute (nova) queens series:
  New
Status in OpenStack Compute (nova) rocky series:
  New
Status in OpenStack Compute (nova) stein series:
  New

Bug description:
  During most move operations we restrict the request spec to the cell
  the instance is in before calling the scheduler:

  unshelve:
  https://github.com/openstack/nova/blob/a6963fa6858289d048e4d27ce8e61637cd023f4c/nova/conductor/manager.py#L822

  cold migrate:
  https://github.com/openstack/nova/blob/a6963fa6858289d048e4d27ce8e61637cd023f4c/nova/conductor/tasks/migrate.py#L163

  live migrate:
  https://github.com/openstack/nova/blob/a6963fa6858289d048e4d27ce8e61637cd023f4c/nova/conductor/tasks/live_migrate.py#L354

  But for some reason we don't do that during evacuate (or rebuild to
  the same host with forced hosts/nodes when the image changes - which
  in that rebuild case means the scheduler is getting nodes from all
  cells just to find the one we are forcing):

  https://github.com/openstack/nova/blob/a6963fa6858289d048e4d27ce8e61637cd023f4c/nova/conductor/manager.py#L1011

  I'm not sure how this would fail, but if the scheduler did pick a host
  in another cell things would surely fail because evacuate won't work
  across cells (the instance data is in the source cell db).

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


Follow ups