objects: add HyperVLiveMigrateData stub

This class seems to have been considered a base class, supposed
to be inherited by driver specific implementation, not being
registered within the versioned object registry.

Hyper-V does not use this object, so it does not have a driver
specific implementation. During live migration, a LiveMigrateData
object will be passed via RPC, which will fail as it can't be
deserialized.

As a result, this issue breaks Hyper-V live migration.

This patch adds the HyperVLiveMigrateData object in order to avoid
this issue.

Change-Id: I0bd1c21334a2a21afadb6608edca1f81987b32d4
Closes-bug: #1550391
This commit is contained in:
Lucian Petrut
2016-02-26 17:21:44 +02:00
parent b4e433d31c
commit 7832f6ea81
3 changed files with 7 additions and 1 deletions

View File

@@ -252,3 +252,8 @@ class XenapiLiveMigrateData(LiveMigrateData):
if 'pre_live_migration_result' in legacy:
self.sr_uuid_map = \
legacy['pre_live_migration_result']['sr_uuid_map']
@obj_base.NovaObjectRegistry.register
class HyperVLiveMigrateData(LiveMigrateData):
VERSION = '1.0'

View File

@@ -1122,6 +1122,7 @@ object_data = {
'FloatingIP': '1.10-52a67d52d85eb8b3f324a5b7935a335b',
'FloatingIPList': '1.11-7f2ba670714e1b7bab462ab3290f7159',
'HostMapping': '1.0-1a3390a696792a552ab7bd31a77ba9ac',
'HyperVLiveMigrateData': '1.0-0b868dd6228a09c3f3e47016dddf6a1c',
'HVSpec': '1.2-db672e73304da86139086d003f3977e7',
'ImageMeta': '1.8-642d1b2eb3e880a367f37d72dd76162d',
'ImageMetaProps': '1.12-6a132dee47931447bf86c03c7006d96c',

View File

@@ -93,7 +93,7 @@ class LiveMigrationOps(object):
block_migration=False,
disk_over_commit=False):
LOG.debug("check_can_live_migrate_destination called", instance_ref)
return migrate_data_obj.LiveMigrateData()
return migrate_data_obj.HyperVLiveMigrateData()
def check_can_live_migrate_destination_cleanup(self, ctxt,
dest_check_data):