summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJohn Tran <jtran@attinteractive.com>2011-06-08 17:15:35 -0700
committerJohn Tran <jtran@attinteractive.com>2011-06-08 17:15:35 -0700
commit3764be9d65483a9e431b69f37e3516fa20961362 (patch)
tree7d921458001b3aa7c418c0b4207dcff5515580f9 /nova/api
parent70e4d73778d448cb7f122bc0a2a0c43a78fff46a (diff)
raises exception.NoFloatingIpsDefined instead of UnknownError
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 316298c39..6c5dba8ed 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -39,6 +39,7 @@ from nova import flags
from nova import ipv6
from nova import log as logging
from nova import network
+from nova import rpc
from nova import utils
from nova import volume
from nova.api.ec2 import ec2utils
@@ -872,8 +873,11 @@ class CloudController(object):
def allocate_address(self, context, **kwargs):
LOG.audit(_("Allocate address"), context=context)
- public_ip = self.network_api.allocate_floating_ip(context)
- return {'publicIp': public_ip}
+ try:
+ public_ip = self.network_api.allocate_floating_ip(context)
+ return {'publicIp': public_ip}
+ except rpc.RemoteError:
+ raise exception.NoFloatingIpsDefined
def release_address(self, context, public_ip, **kwargs):
LOG.audit(_("Release address %s"), public_ip, context=context)