summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Danjou <julien.danjou@enovance.com>2011-12-12 16:02:36 +0100
committerJulien Danjou <julien.danjou@enovance.com>2011-12-13 10:02:24 +0100
commit9ba6beda437faac138cfea4e0ae21656c08ea394 (patch)
tree8c24e5a524ed42c3e511ff81e9b90d7321e4c44b
parentff753cd608973f5d72a80aef0f9fb8a646fccc3f (diff)
downloadnova-9ba6beda437faac138cfea4e0ae21656c08ea394.tar.gz
nova-9ba6beda437faac138cfea4e0ae21656c08ea394.tar.xz
nova-9ba6beda437faac138cfea4e0ae21656c08ea394.zip
floating-ip: return UUID of instance rather than ID
Returning the database ID seems useless now that instances are identified by UUID. So it seems more reasonable to return UUID here too. Change-Id: I36fa6ded284158facb891dd081aa3d3f45c7c5ee Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
-rw-r--r--nova/api/openstack/v2/contrib/floating_ips.py2
-rw-r--r--nova/tests/api/openstack/v2/contrib/test_floating_ips.py15
2 files changed, 11 insertions, 6 deletions
diff --git a/nova/api/openstack/v2/contrib/floating_ips.py b/nova/api/openstack/v2/contrib/floating_ips.py
index 760ed65ab..f6be55e6e 100644
--- a/nova/api/openstack/v2/contrib/floating_ips.py
+++ b/nova/api/openstack/v2/contrib/floating_ips.py
@@ -39,7 +39,7 @@ def _translate_floating_ip_view(floating_ip):
except (TypeError, KeyError):
result['fixed_ip'] = None
try:
- result['instance_id'] = floating_ip['fixed_ip']['instance_id']
+ result['instance_id'] = floating_ip['fixed_ip']['instance']['uuid']
except (TypeError, KeyError):
result['instance_id'] = None
return {'floating_ip': result}
diff --git a/nova/tests/api/openstack/v2/contrib/test_floating_ips.py b/nova/tests/api/openstack/v2/contrib/test_floating_ips.py
index 0147abe9f..0c2c652da 100644
--- a/nova/tests/api/openstack/v2/contrib/test_floating_ips.py
+++ b/nova/tests/api/openstack/v2/contrib/test_floating_ips.py
@@ -25,6 +25,8 @@ from nova import test
from nova.tests.api.openstack import fakes
from nova import utils
+FAKE_UUID = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
+
def network_api_get_floating_ip(self, context, id):
return {'id': 1, 'address': '10.10.10.10',
@@ -33,13 +35,15 @@ def network_api_get_floating_ip(self, context, id):
def network_api_get_floating_ip_by_address(self, context, address):
return {'id': 1, 'address': '10.10.10.10',
- 'fixed_ip': {'address': '10.0.0.1', 'instance_id': 1}}
+ 'fixed_ip': {'address': '10.0.0.1',
+ 'instance': {'uuid': FAKE_UUID}}}
def network_api_get_floating_ips_by_project(self, context):
return [{'id': 1,
'address': '10.10.10.10',
- 'fixed_ip': {'address': '10.0.0.1', 'instance_id': 1}},
+ 'fixed_ip': {'address': '10.0.0.1',
+ 'instance': {'uuid': FAKE_UUID}}},
{'id': 2,
'address': '10.10.10.11'}]
@@ -155,7 +159,7 @@ class FloatingIpTest(test.TestCase):
req = fakes.HTTPRequest.blank('/v2/123/os-floating-ips')
res_dict = self.controller.index(req)
- response = {'floating_ips': [{'instance_id': 1,
+ response = {'floating_ips': [{'instance_id': FAKE_UUID,
'ip': '10.10.10.10',
'fixed_ip': '10.0.0.1',
'id': 1},
@@ -176,7 +180,8 @@ class FloatingIpTest(test.TestCase):
def test_show_associated_floating_ip(self):
def get_floating_ip(self, context, id):
return {'id': 1, 'address': '10.10.10.10',
- 'fixed_ip': {'address': '10.0.0.1', 'instance_id': 1}}
+ 'fixed_ip': {'address': '10.0.0.1',
+ 'instance': {'uuid': FAKE_UUID}}}
self.stubs.Set(network.api.API, "get_floating_ip", get_floating_ip)
req = fakes.HTTPRequest.blank('/v2/123/os-floating-ips/1')
@@ -184,7 +189,7 @@ class FloatingIpTest(test.TestCase):
self.assertEqual(res_dict['floating_ip']['id'], 1)
self.assertEqual(res_dict['floating_ip']['ip'], '10.10.10.10')
- self.assertEqual(res_dict['floating_ip']['instance_id'], 1)
+ self.assertEqual(res_dict['floating_ip']['instance_id'], FAKE_UUID)
# test floating ip allocate/release(deallocate)
def test_floating_ip_allocate_no_free_ips(self):