summaryrefslogtreecommitdiffstats
path: root/nova/compute/manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/compute/manager.py')
-rwxr-xr-xnova/compute/manager.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 70d88117d..edf9da667 100755
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -3224,7 +3224,8 @@ class ComputeManager(manager.SchedulerDependentManager):
raise exception.FixedIpNotFoundForInstance(
instance_uuid=instance['uuid'])
- self.driver.pre_live_migration(context, instance,
+ pre_live_migration_data = self.driver.pre_live_migration(context,
+ instance,
block_device_info,
self._legacy_nw_info(network_info),
migrate_data)
@@ -3246,6 +3247,8 @@ class ComputeManager(manager.SchedulerDependentManager):
if block_migration:
self.driver.pre_block_migration(context, instance, disk)
+ return pre_live_migration_data
+
def live_migration(self, context, dest, instance,
block_migration=False, migrate_data=None):
"""Executing live migration.
@@ -3257,14 +3260,18 @@ class ComputeManager(manager.SchedulerDependentManager):
:param migrate_data: implementation specific params
"""
+ # Create a local copy since we'll be modifying the dictionary
+ migrate_data = dict(migrate_data or {})
try:
if block_migration:
disk = self.driver.get_instance_disk_info(instance['name'])
else:
disk = None
- self.compute_rpcapi.pre_live_migration(context, instance,
- block_migration, disk, dest, migrate_data)
+ pre_migration_data = self.compute_rpcapi.pre_live_migration(
+ context, instance,
+ block_migration, disk, dest, migrate_data)
+ migrate_data['pre_live_migration_result'] = pre_migration_data
except Exception:
with excutils.save_and_reraise_exception():