From e23b3fbac5097cc71e6b23f535598d861e995dfa Mon Sep 17 00:00:00 2001 From: Dan Smith Date: Fri, 26 Oct 2012 09:00:38 -0700 Subject: [PATCH] Add missing live migration methods to ComputeDriver base class Several live migration-related methods are implemented in the virt drivers (and used in compute/manager), but missing from the base class: pre_live_migration() pre_block_migration() post_live_migration_at_destination() This adds those, fixing bug 1071404. Change-Id: Iccca4706462c5452882e34608df6e477d2280099 --- nova/virt/driver.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/nova/virt/driver.py b/nova/virt/driver.py index 941d46e5e268..c51a9449fa11 100644 --- a/nova/virt/driver.py +++ b/nova/virt/driver.py @@ -342,6 +342,27 @@ class ComputeDriver(object): """ raise NotImplementedError() + def pre_live_migration(self, ctxt, instance_ref, + block_device_info, network_info): + """Prepare an instance for live migration + + :param ctxt: security context + :param instance_ref: instance object that will be migrated + :param block_device_info: instance block device information + :param network_info: instance network information + """ + raise NotImplementedError() + + def pre_block_migration(self, ctxt, instance_ref, disk_info): + """Prepare a block device for migration + + :param ctxt: security context + :param instance_ref: instance object that will have its disk migrated + :param disk_info: information about disk to be migrated (as returned + from get_instance_disk_info()) + """ + raise NotImplementedError() + def live_migration(self, ctxt, instance_ref, dest, post_method, recover_method, block_migration=False, migrate_data=None): @@ -364,6 +385,18 @@ class ComputeDriver(object): """ raise NotImplementedError() + def post_live_migration_at_destination(self, ctxt, instance_ref, + network_info, + block_migration=False): + """Post operation of live migration at destination host. + + :param ctxt: security context + :param instance_ref: instance object that is migrated + :param network_info: instance network information + :param block_migration: if true, post operation of block_migration. + """ + raise NotImplementedError() + def check_can_live_migrate_destination(self, ctxt, instance_ref, block_migration=False, disk_over_commit=False):