summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorSandy Walsh <sandy.walsh@rackspace.com>2011-03-15 09:29:46 -0700
committerSandy Walsh <sandy.walsh@rackspace.com>2011-03-15 09:29:46 -0700
commit10ae2e194e2c429620407ce5be7ce59ac5ccd761 (patch)
tree8b4c11064bf3d989bd6d1a4d843f9f9264ad0e7d /nova/compute
parenteab99bbcdb02aa9bd330b01f2d27a297ab6b7f2e (diff)
parent6f72ba3d88f31e6336725bcffe47fa2bd5f1dba0 (diff)
exception fixup
Diffstat (limited to 'nova/compute')
-rw-r--r--nova/compute/api.py14
-rw-r--r--nova/compute/manager.py4
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', })