From 07105cb78e366d35dd8c8a046c951780c274e9a2 Mon Sep 17 00:00:00 2001 From: Dan Smith Date: Mon, 23 Jul 2012 08:20:37 -0700 Subject: Return 404 when attempting to remove a non-existent floating ip This fixes bug 993774 and returns 404 instead of 202 when trying to delete a floating ip from an instance to which it is not allocated. Change-Id: I9538a8a71cbbb9d19e9ebb76f93b180dbf619764 --- nova/api/openstack/compute/contrib/floating_ips.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'nova/api') 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): -- cgit