diff options
| author | Sandy Walsh <sandy.walsh@rackspace.com> | 2011-03-15 09:29:46 -0700 |
|---|---|---|
| committer | Sandy Walsh <sandy.walsh@rackspace.com> | 2011-03-15 09:29:46 -0700 |
| commit | 10ae2e194e2c429620407ce5be7ce59ac5ccd761 (patch) | |
| tree | 8b4c11064bf3d989bd6d1a4d843f9f9264ad0e7d /nova/compute | |
| parent | eab99bbcdb02aa9bd330b01f2d27a297ab6b7f2e (diff) | |
| parent | 6f72ba3d88f31e6336725bcffe47fa2bd5f1dba0 (diff) | |
exception fixup
Diffstat (limited to 'nova/compute')
| -rw-r--r-- | nova/compute/api.py | 14 | ||||
| -rw-r--r-- | nova/compute/manager.py | 4 |
2 files changed, 12 insertions, 6 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index 33d25fc4b..8865a1654 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -34,6 +34,7 @@ from nova import rpc from nova import utils from nova import volume from nova.compute import instance_types +from nova.scheduler import api as scheduler from nova.db import base FLAGS = flags.FLAGS @@ -50,7 +51,7 @@ class API(base.Base): def __init__(self, image_service=None, network_api=None, volume_api=None, hostname_factory=generate_default_hostname, - **kwargs): + scheduler_api=None, **kwargs): if not image_service: image_service = utils.import_object(FLAGS.image_service) self.image_service = image_service @@ -60,6 +61,9 @@ class API(base.Base): if not volume_api: volume_api = volume.API() self.volume_api = volume_api + if not scheduler_api: + scheduler_api = scheduler.API() + self.scheduler_api = scheduler_api self.hostname_factory = hostname_factory super(API, self).__init__(**kwargs) @@ -380,7 +384,9 @@ class API(base.Base): if not host: instance = self.get(context, instance_id) host = instance['host'] - queue = self.db.queue_get_for(context, FLAGS.compute_topic, host) + #queue = self.db.queue_get_for(context, FLAGS.compute_topic, host) + queue = self.scheduler_api.get_queue_for_instance(context, + FLAGS.compute_topic, host) params['instance_id'] = instance_id kwargs = {'method': method, 'args': params} rpc.cast(context, queue, kwargs) @@ -399,7 +405,9 @@ class API(base.Base): if not host: instance = self.get(context, instance_id) host = instance["host"] - queue = self.db.queue_get_for(context, FLAGS.compute_topic, host) + #queue = self.db.queue_get_for(context, FLAGS.compute_topic, host) + queue = self.scheduler_api.get_queue_for_instance(context, + FLAGS.compute_topic, host) params['instance_id'] = instance_id kwargs = {'method': method, 'args': params} return rpc.call(context, queue, kwargs) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 7eb5eed16..ebe1ce6f0 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -511,9 +511,7 @@ class ComputeManager(scheduler_manager.SchedulerDependentManager): instance_ref = self.db.instance_get(context, migration_ref['instance_id']) - # this may get passed into the following spawn instead - new_disk_info = self.driver.attach_disk(instance_ref, disk_info) - self.driver.spawn(instance_ref, disk=new_disk_info) + self.driver.finish_resize(instance_ref, disk_info) self.db.migration_update(context, migration_id, {'status': 'finished', }) |
