diff options
author | Monty Taylor <mordred@inaugust.com> | 2017-05-13 08:45:26 -0500 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2017-05-13 08:56:41 -0500 |
commit | a483534123640eca2bcbf7c06920be3a2a01b090 (patch) | |
tree | bae62d4953fe71e7de7fa69e4366b9120ddeee22 | |
parent | 4493871824839782846c3825c754895876f8d08e (diff) | |
download | os-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.py | 23 | ||||
-rw-r--r-- | os_client_config/tests/test_cloud_config.py | 2 |
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', |