summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/compute/contrib/floating_ips.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/nova/api/openstack/compute/contrib/floating_ips.py b/nova/api/openstack/compute/contrib/floating_ips.py
index b6a6adc9e..4b290bb4c 100644
--- a/nova/api/openstack/compute/contrib/floating_ips.py
+++ b/nova/api/openstack/compute/contrib/floating_ips.py
@@ -282,10 +282,11 @@ class FloatingIPActionController(wsgi.Controller):
instance = get_instance_by_floating_ip_addr(self, context, address)
# disassociate if associated
- if floating_ip.get('fixed_ip_id'):
+ if instance and floating_ip.get('fixed_ip_id'):
disassociate_floating_ip(self, context, instance, address)
-
- return webob.Response(status_int=202)
+ return webob.Response(status_int=202)
+ else:
+ return webob.Response(status_int=404)
class Floating_ips(extensions.ExtensionDescriptor):