Remove ClientManager._service_catalog

Anything that needs a service catalog can get it directly from
auth_ref.service_catalog, no need to carry the extra attribute.

ClientManager.get_endpoint_for_service_type() reamins the proper
method to get an endpoint for clients that still need one directly.

Change-Id: I809091c9c71d08f29606d7fd8b500898ff2cb8ae
This commit is contained in:
Dean Troyer 2014-10-17 23:43:38 -05:00
parent e8f727c611
commit 8e64b6ec4a
2 changed files with 8 additions and 8 deletions

View File

@ -66,7 +66,6 @@ class ClientManager(object):
self._auth_params = auth.build_auth_params(auth_options)
self._region_name = auth_options.os_region_name
self._api_version = api_version
self._service_catalog = None
self.timing = auth_options.timing
# For compatibility until all clients can be updated
@ -104,7 +103,6 @@ class ClientManager(object):
if 'token' not in self._auth_params:
LOG.debug("Get service catalog")
self.auth_ref = self.auth.get_auth_ref(self.session)
self._service_catalog = self.auth_ref.service_catalog
return
@ -112,12 +110,14 @@ class ClientManager(object):
"""Return the endpoint URL for the service type."""
# See if we are using password flow auth, i.e. we have a
# service catalog to select endpoints from
if self._service_catalog:
endpoint = self._service_catalog.url_for(
service_type=service_type, region_name=region_name)
if self.auth_ref:
endpoint = self.auth_ref.service_catalog.url_for(
service_type=service_type,
region_name=region_name,
)
else:
# Hope we were given the correct URL.
endpoint = self._auth_url or self._url
# Get the passed endpoint directly from the auth plugin
endpoint = self.auth.get_endpoint(self.session)
return endpoint

View File

@ -157,7 +157,7 @@ class TestClientManager(utils.TestCase):
)
self.assertEqual(
dir(SERVICE_CATALOG),
dir(client_manager._service_catalog),
dir(client_manager.auth_ref.service_catalog),
)
def stub_auth(self, json=None, url=None, verb=None, **kwargs):