summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py3
-rw-r--r--nova/api/openstack/compute/contrib/floating_ips.py3
2 files changed, 6 insertions, 0 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index aa7e880df..6cbaf2309 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -1196,6 +1196,9 @@ class CloudController(object):
except exception.FloatingIpNotAssociated:
msg = _('Floating ip is not associated.')
raise exception.EC2APIError(msg)
+ except exception.CannotDisassociateAutoAssignedFloatingIP:
+ msg = _('Cannot disassociate auto assigned floating ip')
+ raise exception.EC2APIError(msg)
return {'return': "true"}
diff --git a/nova/api/openstack/compute/contrib/floating_ips.py b/nova/api/openstack/compute/contrib/floating_ips.py
index b97f200da..56a6a8fad 100644
--- a/nova/api/openstack/compute/contrib/floating_ips.py
+++ b/nova/api/openstack/compute/contrib/floating_ips.py
@@ -96,6 +96,9 @@ def disassociate_floating_ip(self, context, instance, address):
except exception.FloatingIpNotAssociated:
msg = _('Floating ip is not associated')
raise webob.exc.HTTPBadRequest(explanation=msg)
+ except exception.CannotDisassociateAutoAssignedFloatingIP:
+ msg = _('Cannot disassociate auto assigned floating ip')
+ raise webob.exc.HTTPForbidden(explanation=msg)
class FloatingIPController(object):