summaryrefslogtreecommitdiffstats
path: root/nova/endpoint
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2010-08-12 21:27:53 -0700
committerVishvananda Ishaya <vishvananda@gmail.com>2010-08-12 21:27:53 -0700
commita679cab031ec91dd719b9ba887cdae4f595b2ca4 (patch)
treecbc8b1772582f3f8b5ab5694147580e416e0fd68 /nova/endpoint
parent2bbb2b86272c89b35a1042ab2866bbe4863bc3e3 (diff)
downloadnova-a679cab031ec91dd719b9ba887cdae4f595b2ca4.tar.gz
nova-a679cab031ec91dd719b9ba887cdae4f595b2ca4.tar.xz
nova-a679cab031ec91dd719b9ba887cdae4f595b2ca4.zip
make rpc.call propogate exception info. Includes tests
Diffstat (limited to 'nova/endpoint')
-rw-r--r--nova/endpoint/cloud.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/nova/endpoint/cloud.py b/nova/endpoint/cloud.py
index ad9188ff3..c32fb1f7f 100644
--- a/nova/endpoint/cloud.py
+++ b/nova/endpoint/cloud.py
@@ -103,7 +103,7 @@ class CloudController(object):
result = {}
for instance in self.instdir.all:
if instance['project_id'] == project_id:
- line = '%s slots=%d' % (instance['private_dns_name'],
+ line = '%s slots=%d' % (instance['private_dns_name'],
INSTANCE_TYPES[instance['instance_type']]['vcpus'])
if instance['key_name'] in result:
result[instance['key_name']].append(line)
@@ -300,7 +300,7 @@ class CloudController(object):
"user_id": context.user.id,
"project_id": context.project.id}})
# NOTE(vish): rpc returned value is in the result key in the dictionary
- volume = self._get_volume(context, result['result'])
+ volume = self._get_volume(context, result)
defer.returnValue({'volumeSet': [self.format_volume(context, volume)]})
def _get_address(self, context, public_ip):
@@ -423,7 +423,7 @@ class CloudController(object):
i['key_name'] = instance.get('key_name', None)
if context.user.is_admin():
i['key_name'] = '%s (%s, %s)' % (i['key_name'],
- instance.get('project_id', None),
+ instance.get('project_id', None),
instance.get('node_name', ''))
i['product_codes_set'] = self._convert_to_set(
instance.get('product_codes', None), 'product_code')
@@ -471,11 +471,10 @@ class CloudController(object):
@defer.inlineCallbacks
def allocate_address(self, context, **kwargs):
network_topic = yield self._get_network_topic(context)
- alloc_result = yield rpc.call(network_topic,
+ public_ip = yield rpc.call(network_topic,
{"method": "allocate_elastic_ip",
"args": {"user_id": context.user.id,
"project_id": context.project.id}})
- public_ip = alloc_result['result']
defer.returnValue({'addressSet': [{'publicIp': public_ip}]})
@rbac.allow('netadmin')
@@ -516,11 +515,10 @@ class CloudController(object):
"""Retrieves the network host for a project"""
host = network_service.get_host_for_project(context.project.id)
if not host:
- result = yield rpc.call(FLAGS.network_topic,
+ host = yield rpc.call(FLAGS.network_topic,
{"method": "set_network_host",
"args": {"user_id": context.user.id,
"project_id": context.project.id}})
- host = result['result']
defer.returnValue('%s.%s' %(FLAGS.network_topic, host))
@rbac.allow('projectmanager', 'sysadmin')
@@ -563,13 +561,12 @@ class CloudController(object):
vpn = False
if image_id == FLAGS.vpn_image_id:
vpn = True
- allocate_result = yield rpc.call(network_topic,
+ allocate_data = yield rpc.call(network_topic,
{"method": "allocate_fixed_ip",
"args": {"user_id": context.user.id,
"project_id": context.project.id,
"security_group": security_group,
"vpn": vpn}})
- allocate_data = allocate_result['result']
inst = self.instdir.new()
inst['image_id'] = image_id
inst['kernel_id'] = kernel_id