summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2017-05-13 08:45:26 -0500
committerMonty Taylor <mordred@inaugust.com>2017-05-13 08:56:41 -0500
commita483534123640eca2bcbf7c06920be3a2a01b090 (patch)
treebae62d4953fe71e7de7fa69e4366b9120ddeee22
parent4493871824839782846c3825c754895876f8d08e (diff)
downloados-client-config-a483534123640eca2bcbf7c06920be3a2a01b090.tar.gz
Revert "Revert "Use interface not endpoint_type for keystoneclient""
Unrevert the endpoint_type/interface patch. But this time around, put in a check for API version 2.0 and only apply the interface arg if it's for v3. This reverts commit 4493871824839782846c3825c754895876f8d08e. Change-Id: Ib347ec686d4d01788ee943c4c4f809aad06d9ccf
-rw-r--r--os_client_config/cloud_config.py23
-rw-r--r--os_client_config/tests/test_cloud_config.py2
2 files changed, 14 insertions, 11 deletions
diff --git a/os_client_config/cloud_config.py b/os_client_config/cloud_config.py
index 776ea8a..89e070f 100644
--- a/os_client_config/cloud_config.py
+++ b/os_client_config/cloud_config.py
@@ -366,12 +366,6 @@ class CloudConfig(object):
service_key, min_version=min_version, max_version=max_version)
endpoint_override = self.get_endpoint(service_key)
- if not interface_key:
- if service_key in ('image', 'key-manager'):
- interface_key = 'interface'
- else:
- interface_key = 'endpoint_type'
-
if service_key == 'object-store':
constructor_kwargs = dict(
session=self.get_session(),
@@ -404,10 +398,6 @@ class CloudConfig(object):
if not endpoint_override:
constructor_kwargs['endpoint_override'] = endpoint
constructor_kwargs.update(kwargs)
- if service_key == 'object-store':
- constructor_kwargs['os_options'][interface_key] = interface
- else:
- constructor_kwargs[interface_key] = interface
if pass_version_arg and service_key != 'object-store':
if not version:
version = self.get_api_version(service_key)
@@ -451,6 +441,19 @@ class CloudConfig(object):
constructor_kwargs['username'] = None
constructor_kwargs['password'] = None
+ if not interface_key:
+ if service_key in ('image', 'key-manager'):
+ interface_key = 'interface'
+ elif (service_key == 'identity'
+ and version and version.startswith('3')):
+ interface_key = 'interface'
+ else:
+ interface_key = 'endpoint_type'
+ if service_key == 'object-store':
+ constructor_kwargs['os_options'][interface_key] = interface
+ else:
+ constructor_kwargs[interface_key] = interface
+
return client_class(**constructor_kwargs)
def get_cache_expiration_time(self):
diff --git a/os_client_config/tests/test_cloud_config.py b/os_client_config/tests/test_cloud_config.py
index 3ec7ecf..8135526 100644
--- a/os_client_config/tests/test_cloud_config.py
+++ b/os_client_config/tests/test_cloud_config.py
@@ -570,7 +570,7 @@ class TestCloudConfig(base.TestCase):
mock_client.assert_called_with(
version='3',
endpoint='http://example.com',
- endpoint_type='admin',
+ interface='admin',
endpoint_override=None,
region_name='region-al',
service_type='identity',