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:
Gage Hugo 2019-08-24 12:48:41 -05:00
parent 7f006ec409
commit 7c33d8ebb6
2 changed files with 12 additions and 16 deletions

View File

@ -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

View File

@ -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]