083bafc353
Once a deployment has been fully upgraded to Train, the CONF.workarounds.enable_numa_live_migration config option is no longer necessary. This patch changes the conductor check to only apply if the cell's (cross-cell live migration isn't supported) minimum service version is old. Implements blueprint numa-aware-live-migration Change-Id: If649218db86a04db744990ec0139b4f0b1e79ad6
47 lines
2.3 KiB
YAML
47 lines
2.3 KiB
YAML
---
|
|
features:
|
|
- |
|
|
With the libvirt driver, live migration now works correctly for instances
|
|
that have a NUMA topology. Previously, the instance was naively moved to
|
|
the destination host, without updating any of the underlying NUMA guest to
|
|
host mappings or the resource usage. With the new NUMA-aware live migration
|
|
feature, if the instance cannot fit on the destination the live migration
|
|
will be attempted on an alternate destination if the request is
|
|
setup to have alternates. If the instance can fit on the destination, the
|
|
NUMA guest to host mappings will be re-calculated to reflect its new
|
|
host, and its resource usage updated.
|
|
upgrade:
|
|
- |
|
|
For the libvirt driver, the NUMA-aware live migration feature requires the
|
|
conductor, source compute, and destination compute to be upgraded to Train.
|
|
It also requires the conductor and source compute to be able to send RPC
|
|
5.3 - that is, their ``[upgrade_levels]/compute`` configuration option must
|
|
not be set to less than 5.3 or a release older than "train".
|
|
|
|
In other words, NUMA-aware live migration with the libvirt driver is not
|
|
supported until:
|
|
|
|
* All compute and conductor services are upgraded to Train code.
|
|
* The ``[upgrade_levels]/compute`` RPC API pin is removed (or set to
|
|
"auto") and services are restarted.
|
|
|
|
If any of these requirements are not met, live migration of instances with
|
|
a NUMA topology with the libvirt driver will revert to the legacy naive
|
|
behavior, in which the instance was simply moved over without updating its
|
|
NUMA guest to host mappings or its resource usage.
|
|
|
|
.. note:: The legacy naive behavior is dependent on the value of the
|
|
``[workarounds]/enable_numa_live_migration`` option. Refer to the
|
|
Deprecations sections for more details.
|
|
deprecations:
|
|
- |
|
|
With the introduction of the NUMA-aware live migration feature for the
|
|
libvirt driver, ``[workarounds]/enable_numa_live_migration`` is
|
|
deprecated. Once a cell has been fully upgraded to Train, its value is
|
|
ignored.
|
|
|
|
.. note:: Even in a cell fully upgraded to Train, RPC pinning via
|
|
``[upgrade_levels]/compute`` can cause live migration of
|
|
instances with a NUMA topology to revert to the legacy naive
|
|
behavior. For more details refer to the Upgrade section.
|