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

