nova/nova/conductor/tasks
Matt Riedemann c2c032ee6b Handle target host cross-cell cold migration in conductor
Because of change If7ea02df42d220c5042947efdef4777509492a0b,
when cold migrating with a target host, the cell on the
requested destination will be used to lookup that host
(compute node) to set the in_tree attribute on the
RequestGroup. When doing a targeted cold migration across
cells, the target host could be in another cell from the
Destination.cell (which is the source cell per the
MigrationTask._restrict_request_spec_to_cell method).
In this scenario, we aren't "preferring" the source cell
necessarily if the target host is in another cell.

This change simply removes the Destination.cell attribute
during a cold migration with a target host so that the
scheduler will look in all enabled cells for the host.
Alternatively, we could lookup the HostMapping for the
requested target host and set the Destination.cell attribute
appropriately but HostManager.get_compute_nodes_by_host_or_node
is going to do that for us anyway.

This also implements one of the TODO functional tests for
cross-cell migrate by targeting a specific host in another
cell for the cold migration. The functional test will fail
without the fix in conductor.

Part of blueprint cross-cell-resize

Change-Id: I2f61a4513135c9b514d938ca18c2c9c87f24403a
2019-11-20 10:53:12 -05:00
..
__init__.py Removed copyright from empty files 2014-02-27 14:27:54 +02:00
base.py Pass exception through TaskBase.rollback 2019-11-04 15:44:42 -05:00
cross_cell_migrate.py Pass exception through TaskBase.rollback 2019-11-04 15:44:42 -05:00
live_migrate.py Merge "Remove TODOs around claim_resources_on_destination" 2019-11-13 15:15:05 +00:00
migrate.py Handle target host cross-cell cold migration in conductor 2019-11-20 10:53:12 -05:00