Rename _v3_to_v2_catalog to _normalize_catalog
This change renames the _v3_to_v2_catalog to _normalize_catalog as part of the v2 removal effort. Several services still rely on the converted catalog format, so this change maintains the conversion but removes the v2 association. Change-Id: Ic7bca16d8c6211d006fc2ba09dc2ecd83f8955db Partial-Bug: #1845539 Partial-Bug: #1777177
This commit is contained in:
parent
7f006ec409
commit
7c33d8ebb6
@ -16,20 +16,16 @@ from oslo_serialization import jsonutils
|
|||||||
import webob
|
import webob
|
||||||
|
|
||||||
|
|
||||||
def _v3_to_v2_catalog(catalog):
|
def _normalize_catalog(catalog):
|
||||||
"""Convert a catalog to v2 format.
|
"""Convert a catalog to a compatible format."""
|
||||||
|
services = []
|
||||||
X_SERVICE_CATALOG must be specified in v2 format. If you get a token
|
|
||||||
that is in v3 convert it.
|
|
||||||
"""
|
|
||||||
v2_services = []
|
|
||||||
for v3_service in catalog:
|
for v3_service in catalog:
|
||||||
# first copy over the entries we allow for the service
|
# first copy over the entries we allow for the service
|
||||||
v2_service = {'type': v3_service['type']}
|
service = {'type': v3_service['type']}
|
||||||
try:
|
try:
|
||||||
v2_service['name'] = v3_service['name']
|
service['name'] = v3_service['name']
|
||||||
except KeyError: # nosec
|
except KeyError: # nosec
|
||||||
# v3 service doesn't have a name, so v2_service doesn't either.
|
# v3 service doesn't have a name, move on.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# now convert the endpoints. Because in v3 we specify region per
|
# now convert the endpoints. Because in v3 we specify region per
|
||||||
@ -47,10 +43,10 @@ def _v3_to_v2_catalog(catalog):
|
|||||||
interface_name = v3_endpoint['interface'].lower() + 'URL'
|
interface_name = v3_endpoint['interface'].lower() + 'URL'
|
||||||
region[interface_name] = v3_endpoint['url']
|
region[interface_name] = v3_endpoint['url']
|
||||||
|
|
||||||
v2_service['endpoints'] = list(regions.values())
|
service['endpoints'] = list(regions.values())
|
||||||
v2_services.append(v2_service)
|
services.append(service)
|
||||||
|
|
||||||
return v2_services
|
return services
|
||||||
|
|
||||||
|
|
||||||
def _is_admin_project(auth_ref):
|
def _is_admin_project(auth_ref):
|
||||||
@ -194,7 +190,7 @@ class _AuthTokenRequest(webob.Request):
|
|||||||
|
|
||||||
catalog = auth_ref.service_catalog.catalog
|
catalog = auth_ref.service_catalog.catalog
|
||||||
if auth_ref.version == 'v3':
|
if auth_ref.version == 'v3':
|
||||||
catalog = _v3_to_v2_catalog(catalog)
|
catalog = _normalize_catalog(catalog)
|
||||||
|
|
||||||
c = jsonutils.dumps(catalog)
|
c = jsonutils.dumps(catalog)
|
||||||
self.headers[self._SERVICE_CATALOG_HEADER] = c
|
self.headers[self._SERVICE_CATALOG_HEADER] = c
|
||||||
|
@ -224,7 +224,7 @@ class CatalogConversionTests(utils.TestCase):
|
|||||||
|
|
||||||
auth_ref = access.create(body=token)
|
auth_ref = access.create(body=token)
|
||||||
catalog_data = auth_ref.service_catalog.catalog
|
catalog_data = auth_ref.service_catalog.catalog
|
||||||
catalog = _request._v3_to_v2_catalog(catalog_data)
|
catalog = _request._normalize_catalog(catalog_data)
|
||||||
|
|
||||||
self.assertEqual(1, len(catalog))
|
self.assertEqual(1, len(catalog))
|
||||||
service = catalog[0]
|
service = catalog[0]
|
||||||
@ -248,7 +248,7 @@ class CatalogConversionTests(utils.TestCase):
|
|||||||
|
|
||||||
auth_ref = access.create(body=token)
|
auth_ref = access.create(body=token)
|
||||||
catalog_data = auth_ref.service_catalog.catalog
|
catalog_data = auth_ref.service_catalog.catalog
|
||||||
catalog = _request._v3_to_v2_catalog(catalog_data)
|
catalog = _request._normalize_catalog(catalog_data)
|
||||||
|
|
||||||
self.assertEqual(1, len(catalog))
|
self.assertEqual(1, len(catalog))
|
||||||
service = catalog[0]
|
service = catalog[0]
|
||||||
|
Loading…
Reference in New Issue
Block a user