diff options
author | Monty Taylor <mordred@inaugust.com> | 2017-03-27 09:16:35 -0500 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2017-03-28 07:24:26 -0500 |
commit | 01ff292e078206e487751228be4a7062ba0c6048 (patch) | |
tree | d01cfb3631f141572961eb118b00c873b7f8e9bb | |
parent | c9c1a8d8d3e1e1a160c13f9b07620e65525a9dd0 (diff) | |
download | os-client-config-01ff292e078206e487751228be4a7062ba0c6048.tar.gz |
Stop special-casing idenity catalog lookups
We have a special case to work around a thing we're pretty sure
keystoneclient used to do but apparently doesn't do anymore. Remove the
workaround.
Co-Authored-By: Jamie Lennox <jamielennox@gmail.com>
Change-Id: I873ad91816150b593d4aef13dcd1520e8c91b22a
-rw-r--r-- | os_client_config/cloud_config.py | 42 | ||||
-rw-r--r-- | os_client_config/tests/test_cloud_config.py | 13 |
2 files changed, 17 insertions, 38 deletions
diff --git a/os_client_config/cloud_config.py b/os_client_config/cloud_config.py index 99ef2ba..3ba3541 100644 --- a/os_client_config/cloud_config.py +++ b/os_client_config/cloud_config.py @@ -18,7 +18,6 @@ import warnings from keystoneauth1 import adapter import keystoneauth1.exceptions.catalog -from keystoneauth1 import plugin from keystoneauth1 import session import requestsexceptions @@ -272,31 +271,24 @@ class CloudConfig(object): 'service_name': self.get_service_name(service_key), 'region_name': self.region } - if service_key == 'identity': - # setting interface in kwargs dict even though we don't use kwargs - # dict here just for ease of warning text later - kwargs['interface'] = plugin.AUTH_INTERFACE - session = self.get_session() - endpoint = session.get_endpoint(interface=kwargs['interface']) + kwargs['interface'] = self.get_interface(service_key) + if service_key == 'volume' and not self.get_api_version('volume'): + # If we don't have a configured cinder version, we can't know + # to request a different service_type + min_version = float(min_version or 1) + max_version = float(max_version or 3) + min_major = math.trunc(float(min_version)) + max_major = math.trunc(float(max_version)) + versions = range(int(max_major) + 1, int(min_major), -1) + service_types = [] + for version in versions: + if version == 1: + service_types.append('volume') + else: + service_types.append('volumev{v}'.format(v=version)) else: - kwargs['interface'] = self.get_interface(service_key) - if service_key == 'volume' and not self.get_api_version('volume'): - # If we don't have a configured cinder version, we can't know - # to request a different service_type - min_version = float(min_version or 1) - max_version = float(max_version or 3) - min_major = math.trunc(float(min_version)) - max_major = math.trunc(float(max_version)) - versions = range(int(max_major) + 1, int(min_major), -1) - service_types = [] - for version in versions: - if version == 1: - service_types.append('volume') - else: - service_types.append('volumev{v}'.format(v=version)) - else: - service_types = [self.get_service_type(service_key)] - endpoint = self._get_highest_endpoint(service_types, kwargs) + service_types = [self.get_service_type(service_key)] + endpoint = self._get_highest_endpoint(service_types, kwargs) if not endpoint: self.log.warning( "Keystone catalog entry not found (" diff --git a/os_client_config/tests/test_cloud_config.py b/os_client_config/tests/test_cloud_config.py index 3c1ae1f..cb6d91c 100644 --- a/os_client_config/tests/test_cloud_config.py +++ b/os_client_config/tests/test_cloud_config.py @@ -13,7 +13,6 @@ import copy from keystoneauth1 import exceptions as ksa_exceptions -from keystoneauth1 import plugin as ksa_plugin from keystoneauth1 import session as ksa_session import mock @@ -220,18 +219,6 @@ class TestCloudConfig(base.TestCase): fake_services_dict['telemetry_endpoint']) @mock.patch.object(cloud_config.CloudConfig, 'get_session') - def test_session_endpoint_identity(self, mock_get_session): - mock_session = mock.Mock() - mock_get_session.return_value = mock_session - config_dict = defaults.get_defaults() - config_dict.update(fake_services_dict) - cc = cloud_config.CloudConfig( - "test1", "region-al", config_dict, auth_plugin=mock.Mock()) - cc.get_session_endpoint('identity') - mock_session.get_endpoint.assert_called_with( - interface=ksa_plugin.AUTH_INTERFACE) - - @mock.patch.object(cloud_config.CloudConfig, 'get_session') def test_session_endpoint(self, mock_get_session): mock_session = mock.Mock() mock_get_session.return_value = mock_session |