nova-powervm/nova_powervm/objects
Kyle L. Henderson cb5a4d1cb2 Use LiveMigrateData object
Nova now sends LiveMigrateData objects exclusively to pass data
between the compute managers and conductor during live migration.
Since dicts are no longer supported the conversion to objects
must be done to continue to support live migration.

There are multiple parts of this conversion.

- Create a PowerVMLiveMigrateData object.  This object must be
'registered' in both the compute manager and conductor in order
for it to be sent over the wire. It can be registered in the
compute manager by importing it in the compute driver, but for
conductor there is no way to dynamically load it.  This forces
the use of a unique PowerVM conductor manager for that sole
purpose.

- Update the live migration code to return and accept the new
PowerVMLiveMigrateData object. As part of that conversion, it's
no longer necessary to pass both a source and destination copy
of the data. It's now just one object.

- Update the volume drivers to accept the object.  The drivers
were not using the data provided in most of the object so limit
them to just a dict of volume data they can originate and
consume.

Work not covered:

- There has been limited real system testing of migration of
VMs with attached volumes.

- Updates to the devstack code to enable the PowerVM specific
version of conductor.

Partial-Bug: #1551954
Change-Id: I58e3cd3cf83a5089399b093202d88e17cfcb2bf2
2016-03-04 08:14:15 -05:00
..
__init__.py Use LiveMigrateData object 2016-03-04 08:14:15 -05:00
migrate_data.py Use LiveMigrateData object 2016-03-04 08:14:15 -05:00