From 46bd4e4292648c0474e02ddc1560ce583fbe56d0 Mon Sep 17 00:00:00 2001 From: Ken'ichi Ohmichi Date: Thu, 29 Jan 2015 11:34:14 +0000 Subject: [PATCH] Apply v2.1 API to href of version API Now Nova contains v2 and v2.1 APIs, but version API returns the same href between v2 and v2.1 like: {"href": "http://192.168.11.62:8774/v2/", "rel": "self"} in a response. In addition, current generate_href() handles v3 API case also. However v3 API has disappeared, so the code is meaningless now. This patch fixes the problem for returning a right href. Change-Id: Ie3ac1223a9c88a33bcc037c7a50ac308bcebea2d Closes-Bug: #1373741 --- doc/api_samples/versions-get-resp.json | 2 +- nova/api/openstack/compute/views/versions.py | 4 ++-- .../functional/api_samples/versions-get-resp.json.tpl | 2 +- nova/tests/unit/api/openstack/compute/test_versions.py | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/api_samples/versions-get-resp.json b/doc/api_samples/versions-get-resp.json index 5c3b1ec05bc8..3615db408ea4 100644 --- a/doc/api_samples/versions-get-resp.json +++ b/doc/api_samples/versions-get-resp.json @@ -15,7 +15,7 @@ "id": "v2.1", "links": [ { - "href": "http://openstack.example.com/v2/", + "href": "http://openstack.example.com/v2.1/", "rel": "self" } ], diff --git a/nova/api/openstack/compute/views/versions.py b/nova/api/openstack/compute/views/versions.py index 572d73bd64b7..cf76c2be8d85 100644 --- a/nova/api/openstack/compute/views/versions.py +++ b/nova/api/openstack/compute/views/versions.py @@ -85,8 +85,8 @@ class ViewBuilder(common.ViewBuilder): def generate_href(self, version, path=None): """Create an url that refers to a specific version_number.""" prefix = self._update_compute_link_prefix(self.base_url) - if version.find('v3.') == 0: - version_number = 'v3' + if version.find('v2.1') == 0: + version_number = 'v2.1' else: version_number = 'v2' diff --git a/nova/tests/functional/api_samples/versions-get-resp.json.tpl b/nova/tests/functional/api_samples/versions-get-resp.json.tpl index 5c3b1ec05bc8..3615db408ea4 100644 --- a/nova/tests/functional/api_samples/versions-get-resp.json.tpl +++ b/nova/tests/functional/api_samples/versions-get-resp.json.tpl @@ -15,7 +15,7 @@ "id": "v2.1", "links": [ { - "href": "http://openstack.example.com/v2/", + "href": "http://openstack.example.com/v2.1/", "rel": "self" } ], diff --git a/nova/tests/unit/api/openstack/compute/test_versions.py b/nova/tests/unit/api/openstack/compute/test_versions.py index 79845dc5e572..e1fcb018d5ad 100644 --- a/nova/tests/unit/api/openstack/compute/test_versions.py +++ b/nova/tests/unit/api/openstack/compute/test_versions.py @@ -112,7 +112,7 @@ class VersionsTestV20(test.NoDBTestCase): "links": [ { "rel": "self", - "href": "http://localhost/v2/", + "href": "http://localhost/v2.1/", }], }, ] @@ -206,7 +206,7 @@ class VersionsTestV20(test.NoDBTestCase): "status": "EXPERIMENTAL", "links": [ { - "href": "http://localhost/v2/images/1", + "href": "http://localhost/v2.1/images/1", "rel": "self", }, ], @@ -265,7 +265,7 @@ class VersionsTestV20(test.NoDBTestCase): "status": "EXPERIMENTAL", "links": [ { - "href": "http://localhost/v2/servers/" + uuid, + "href": "http://localhost/v2.1/servers/" + uuid, "rel": "self", }, ], @@ -329,7 +329,7 @@ class VersionsViewBuilderTests(test.NoDBTestCase): def test_generate_href_v21(self): base_url = "http://example.org/app/" - expected = "http://example.org/app/v2/" + expected = "http://example.org/app/v2.1/" builder = views.versions.ViewBuilder(base_url) actual = builder.generate_href('v2.1')