diff options
| author | Jake Dahn <jake@ansolabs.com> | 2011-08-05 14:37:44 -0700 |
|---|---|---|
| committer | Jake Dahn <jake@ansolabs.com> | 2011-08-05 14:37:44 -0700 |
| commit | 09772f5bf3140a6f4cbaace50ead8d25a874cbb0 (patch) | |
| tree | 38d91e79e04aa97b70fcf5b1c2608d73249d9b88 /nova/api | |
| parent | 429b42f9fdec768a4a63ed8c2d7a92f130f90f0d (diff) | |
| download | nova-09772f5bf3140a6f4cbaace50ead8d25a874cbb0.tar.gz nova-09772f5bf3140a6f4cbaace50ead8d25a874cbb0.tar.xz nova-09772f5bf3140a6f4cbaace50ead8d25a874cbb0.zip | |
If ip is deallocated from project, but attached to a fixed ip, it is now detached
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/contrib/floating_ips.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/nova/api/openstack/contrib/floating_ips.py b/nova/api/openstack/contrib/floating_ips.py index 3d8049324..616388e80 100644 --- a/nova/api/openstack/contrib/floating_ips.py +++ b/nova/api/openstack/contrib/floating_ips.py @@ -97,8 +97,13 @@ class FloatingIPController(object): def delete(self, req, id): context = req.environ['nova.context'] - ip = self.network_api.get_floating_ip(context, id) + try: + if 'fixed_ip' in ip: + self.disassociate(req, id, '') + except: + pass + self.network_api.release_floating_ip(context, address=ip) return {'released': { |
