Fix consisgroup V3 interfaces
The consisgroup list/show etc interfaces are blocked in V3 API, this patch is to fix it. Change-Id: I428a661a12d1020ed844f55021a94bbf61c79169 Closes-Bug: #1597223
This commit is contained in:
parent
6f2112caa8
commit
1a0dd6be5a
|
@ -104,4 +104,5 @@ class APIRouter(cinder.api.openstack.APIRouter):
|
||||||
consistencygroups.create_resource())
|
consistencygroups.create_resource())
|
||||||
mapper.resource("consistencygroup", "consistencygroups",
|
mapper.resource("consistencygroup", "consistencygroups",
|
||||||
controller=self.resources['consistencygroups'],
|
controller=self.resources['consistencygroups'],
|
||||||
member={'update': 'PUT'})
|
collection={'detail': 'GET'},
|
||||||
|
member={'action': 'POST'})
|
||||||
|
|
|
@ -137,12 +137,16 @@ class ConsistencyGroupsAPITestCase(test.TestCase):
|
||||||
|
|
||||||
consistencygroup.destroy()
|
consistencygroup.destroy()
|
||||||
|
|
||||||
def test_list_consistencygroups_json(self):
|
@ddt.data(2, 3)
|
||||||
|
def test_list_consistencygroups_json(self, version):
|
||||||
consistencygroup1 = self._create_consistencygroup()
|
consistencygroup1 = self._create_consistencygroup()
|
||||||
consistencygroup2 = self._create_consistencygroup()
|
consistencygroup2 = self._create_consistencygroup()
|
||||||
consistencygroup3 = self._create_consistencygroup()
|
consistencygroup3 = self._create_consistencygroup()
|
||||||
|
|
||||||
req = webob.Request.blank('/v2/%s/consistencygroups' % fake.PROJECT_ID)
|
req = webob.Request.blank('/v%(version)s/%(project_id)s/'
|
||||||
|
'consistencygroups'
|
||||||
|
% {'version': version,
|
||||||
|
'project_id': fake.PROJECT_ID})
|
||||||
req.method = 'GET'
|
req.method = 'GET'
|
||||||
req.headers['Content-Type'] = 'application/json'
|
req.headers['Content-Type'] = 'application/json'
|
||||||
res = req.get_response(fakes.wsgi_app(
|
res = req.get_response(fakes.wsgi_app(
|
||||||
|
|
|
@ -29,6 +29,7 @@ from cinder.api.openstack import wsgi as os_wsgi
|
||||||
from cinder.api import urlmap
|
from cinder.api import urlmap
|
||||||
from cinder.api.v2 import limits
|
from cinder.api.v2 import limits
|
||||||
from cinder.api.v2 import router
|
from cinder.api.v2 import router
|
||||||
|
from cinder.api.v3 import router as router_v3
|
||||||
from cinder.api import versions
|
from cinder.api import versions
|
||||||
from cinder import context
|
from cinder import context
|
||||||
from cinder.tests.unit import fake_constants as fake
|
from cinder.tests.unit import fake_constants as fake
|
||||||
|
@ -60,10 +61,14 @@ def fake_wsgi(self, req):
|
||||||
|
|
||||||
|
|
||||||
def wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None,
|
def wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None,
|
||||||
use_no_auth=False, ext_mgr=None):
|
use_no_auth=False, ext_mgr=None,
|
||||||
|
inner_app_v3=None):
|
||||||
if not inner_app_v2:
|
if not inner_app_v2:
|
||||||
inner_app_v2 = router.APIRouter(ext_mgr)
|
inner_app_v2 = router.APIRouter(ext_mgr)
|
||||||
|
|
||||||
|
if not inner_app_v3:
|
||||||
|
inner_app_v3 = router_v3.APIRouter(ext_mgr)
|
||||||
|
|
||||||
if fake_auth:
|
if fake_auth:
|
||||||
if fake_auth_context is not None:
|
if fake_auth_context is not None:
|
||||||
ctxt = fake_auth_context
|
ctxt = fake_auth_context
|
||||||
|
@ -72,15 +77,22 @@ def wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None,
|
||||||
auth_token=True)
|
auth_token=True)
|
||||||
api_v2 = fault.FaultWrapper(auth.InjectContext(ctxt,
|
api_v2 = fault.FaultWrapper(auth.InjectContext(ctxt,
|
||||||
inner_app_v2))
|
inner_app_v2))
|
||||||
|
api_v3 = fault.FaultWrapper(auth.InjectContext(ctxt,
|
||||||
|
inner_app_v3))
|
||||||
elif use_no_auth:
|
elif use_no_auth:
|
||||||
api_v2 = fault.FaultWrapper(auth.NoAuthMiddleware(
|
api_v2 = fault.FaultWrapper(auth.NoAuthMiddleware(
|
||||||
limits.RateLimitingMiddleware(inner_app_v2)))
|
limits.RateLimitingMiddleware(inner_app_v2)))
|
||||||
|
api_v3 = fault.FaultWrapper(auth.NoAuthMiddleware(
|
||||||
|
limits.RateLimitingMiddleware(inner_app_v3)))
|
||||||
else:
|
else:
|
||||||
api_v2 = fault.FaultWrapper(auth.AuthMiddleware(
|
api_v2 = fault.FaultWrapper(auth.AuthMiddleware(
|
||||||
limits.RateLimitingMiddleware(inner_app_v2)))
|
limits.RateLimitingMiddleware(inner_app_v2)))
|
||||||
|
api_v3 = fault.FaultWrapper(auth.AuthMiddleware(
|
||||||
|
limits.RateLimitingMiddleware(inner_app_v3)))
|
||||||
|
|
||||||
mapper = urlmap.URLMap()
|
mapper = urlmap.URLMap()
|
||||||
mapper['/v2'] = api_v2
|
mapper['/v2'] = api_v2
|
||||||
|
mapper['/v3'] = api_v3
|
||||||
mapper['/'] = fault.FaultWrapper(versions.VersionsController())
|
mapper['/'] = fault.FaultWrapper(versions.VersionsController())
|
||||||
return mapper
|
return mapper
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue