diff --git a/api-ref/source/versions/samples/image-versions-response.json b/api-ref/source/versions/samples/image-versions-response.json index ab6de797c1..af8afa4f5c 100644 --- a/api-ref/source/versions/samples/image-versions-response.json +++ b/api-ref/source/versions/samples/image-versions-response.json @@ -1,5 +1,15 @@ { "versions": [ + { + "id": "v2.8", + "links": [ + { + "href": "http://glance.openstack.example.org/v2/", + "rel": "self" + } + ], + "status": "EXPERIMENTAL" + }, { "id": "v2.7", "links": [ diff --git a/glance/api/middleware/version_negotiation.py b/glance/api/middleware/version_negotiation.py index 960cf9c8f3..81f9ee0b84 100644 --- a/glance/api/middleware/version_negotiation.py +++ b/glance/api/middleware/version_negotiation.py @@ -82,6 +82,8 @@ class VersionNegotiationFilter(wsgi.Middleware): allowed_versions['v2.5'] = 2 allowed_versions['v2.6'] = 2 allowed_versions['v2.7'] = 2 + if CONF.enabled_backends: + allowed_versions['v2.8'] = 2 return allowed_versions def _match_version_string(self, subject): diff --git a/glance/api/versions.py b/glance/api/versions.py index 9c3ac9c6ba..9906084c46 100644 --- a/glance/api/versions.py +++ b/glance/api/versions.py @@ -73,6 +73,10 @@ class Controller(object): version_objs = [] if CONF.enable_v2_api: + if CONF.enabled_backends: + version_objs.extend([ + build_version_object(2.8, 'v2', 'EXPERIMENTAL') + ]) version_objs.extend([ build_version_object(2.7, 'v2', 'CURRENT'), build_version_object(2.6, 'v2', 'SUPPORTED'), diff --git a/glance/tests/unit/test_versions.py b/glance/tests/unit/test_versions.py index 8913494142..210124ebfd 100644 --- a/glance/tests/unit/test_versions.py +++ b/glance/tests/unit/test_versions.py @@ -181,8 +181,8 @@ class VersionNegotiationTest(base.IsolatedUnitTest): self.middleware.process_request(request) self.assertEqual('/v2/images', request.path_info) - def test_request_url_v2_8_unsupported(self): - request = webob.Request.blank('/v2.8/images') + def test_request_url_v2_9_unsupported(self): + request = webob.Request.blank('/v2.9/images') resp = self.middleware.process_request(request) self.assertIsInstance(resp, versions.Controller)