diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-06-25 16:28:46 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-06-25 16:28:46 +0000 |
commit | 9331c5c1115c7d8cc5bcab71b1100eeea1ce72fe (patch) | |
tree | bfde7e32a3ef66a5ebb8f81b916b2643da3b5b68 /nova/scheduler/manager.py | |
parent | 24129187ed642f99e6085f8bd44da5a9eb39034f (diff) | |
parent | 2d7beddc0bb7830c2a8bf893b9221c0de568c55d (diff) | |
download | nova-9331c5c1115c7d8cc5bcab71b1100eeea1ce72fe.tar.gz nova-9331c5c1115c7d8cc5bcab71b1100eeea1ce72fe.tar.xz nova-9331c5c1115c7d8cc5bcab71b1100eeea1ce72fe.zip |
Merge "Extract live-migration scheduler logic from the scheduler driver"
Diffstat (limited to 'nova/scheduler/manager.py')
-rw-r--r-- | nova/scheduler/manager.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/nova/scheduler/manager.py b/nova/scheduler/manager.py index 5c99feb03..3d62ff9b0 100644 --- a/nova/scheduler/manager.py +++ b/nova/scheduler/manager.py @@ -30,6 +30,7 @@ from nova.compute import task_states from nova.compute import utils as compute_utils from nova.compute import vm_states from nova.conductor import api as conductor_api +from nova.conductor.tasks import live_migrate import nova.context from nova import exception from nova import manager @@ -102,9 +103,8 @@ class SchedulerManager(manager.Manager): def live_migration(self, context, instance, dest, block_migration, disk_over_commit): try: - return self.driver.schedule_live_migration( - context, instance, dest, - block_migration, disk_over_commit) + self._schedule_live_migration(context, instance, dest, + block_migration, disk_over_commit) except (exception.NoValidHost, exception.ComputeServiceUnavailable, exception.InvalidHypervisorType, @@ -131,6 +131,13 @@ class SchedulerManager(manager.Manager): {'vm_state': vm_states.ERROR}, context, ex, request_spec) + def _schedule_live_migration(self, context, instance, dest, + block_migration, disk_over_commit): + task = live_migrate.LiveMigrationTask(context, instance, + dest, block_migration, disk_over_commit, + self.driver.select_hosts) + return task.execute() + def run_instance(self, context, request_spec, admin_password, injected_files, requested_networks, is_first_time, filter_properties): |