diff options
author | tamilhce <tamilhce@gmail.com> | 2016-09-09 09:25:41 +0530 |
---|---|---|
committer | rabi <ramishra@redhat.com> | 2016-09-09 10:01:39 +0530 |
commit | f2147f79aaa42aedbb8c3413151fade301f468e8 (patch) | |
tree | 440bdad104e770a30154e0317211584897b8cd5f /heatclient | |
parent | dde6bc4d4fcf0461ca3907ce87693673f9a3325d (diff) | |
download | python-heatclient-f2147f79aaa42aedbb8c3413151fade301f468e8.tar.gz |
Don't use endpoint_override with session
We should not use endpoint_override by default and rather
use service_type with session. This also refactors some of
the associated code.
However, if one wants to override the endpoint they can pass
endpoint_override to the client constructor along with session.
Change-Id: I7c27d8ff827de3b4bb3e70457c0b6a3f47b6d7bb
Co-Authored-By: Rabi Mishra <ramishra@redhat.com>
Closes-Bug: #1621505
Diffstat (limited to 'heatclient')
-rw-r--r-- | heatclient/common/http.py | 1 | ||||
-rw-r--r-- | heatclient/osc/plugin.py | 29 | ||||
-rw-r--r-- | heatclient/shell.py | 14 | ||||
-rw-r--r-- | heatclient/tests/unit/test_shell.py | 6 |
4 files changed, 22 insertions, 28 deletions
diff --git a/heatclient/common/http.py b/heatclient/common/http.py index 329d9c2..3d05b91 100644 --- a/heatclient/common/http.py +++ b/heatclient/common/http.py @@ -347,7 +347,6 @@ def _construct_http_client(endpoint=None, username=None, password=None, auth = kwargs.pop('auth', None) if session: - kwargs['endpoint_override'] = endpoint return SessionClient(session, auth=auth, **kwargs) else: return HTTPClient(endpoint=endpoint, username=username, diff --git a/heatclient/osc/plugin.py b/heatclient/osc/plugin.py index 32c0e15..b57d2de 100644 --- a/heatclient/osc/plugin.py +++ b/heatclient/osc/plugin.py @@ -33,22 +33,23 @@ def make_client(instance): API_VERSIONS) LOG.debug('Instantiating orchestration client: %s', heat_client) - # Note: We can change '_interface' and '_region_name' once - # the requirements change to python-openstackclient-2.6.1 - endpoint = instance.get_endpoint_for_service_type( - API_NAME, - region_name=instance._region_name, - interface=instance._interface, - ) - - kwargs = {'endpoint': endpoint, - 'auth_url': instance.auth.auth_url, - 'region_name': instance._region_name, - 'username': instance.auth_ref.username} - if instance.session: - kwargs.update(session=instance.session) + kwargs = {'session': instance.session, + 'service_type': API_NAME} else: + # Note: We can change '_interface' and '_region_name' once + # the requirements change to python-openstackclient-2.6.1 + endpoint = instance.get_endpoint_for_service_type( + API_NAME, + region_name=instance._region_name, + interface=instance._interface, + ) + + kwargs = {'endpoint': endpoint, + 'auth_url': instance.auth.auth_url, + 'region_name': instance._region_name, + 'username': instance.auth_ref.username} + kwargs.update(token=instance.auth_ref.auth_token) client = heat_client(**kwargs) diff --git a/heatclient/shell.py b/heatclient/shell.py index b6efada..3b24c5c 100644 --- a/heatclient/shell.py +++ b/heatclient/shell.py @@ -495,7 +495,6 @@ class HeatShell(object): 'timeout': args.api_timeout } - endpoint = args.heat_url service_type = args.os_service_type or 'orchestration' if args.os_no_client_auth: # Do not use session since no_client_auth means using heat to @@ -507,7 +506,8 @@ class HeatShell(object): 'token': args.os_auth_token, 'include_pass': args.include_password, 'insecure': args.insecure, - 'timeout': args.api_timeout + 'timeout': args.api_timeout, + 'endpoint': args.heat_url } else: keystone_session = self._get_keystone_session(**kwargs) @@ -534,13 +534,7 @@ class HeatShell(object): 'project_domain_name': args.os_project_domain_name, } keystone_auth = generic.Password(**kwargs) - if not endpoint: - svc_type = service_type - region_name = args.os_region_name - endpoint = keystone_auth.get_endpoint(keystone_session, - service_type=svc_type, - interface=endpoint_type, - region_name=region_name) + kwargs = { 'auth_url': args.os_auth_url, 'session': keystone_session, @@ -553,7 +547,7 @@ class HeatShell(object): 'include_pass': args.include_password } - client = heat_client.Client(api_version, endpoint, **kwargs) + client = heat_client.Client(api_version, **kwargs) profile = osprofiler_profiler and options.profile if profile: diff --git a/heatclient/tests/unit/test_shell.py b/heatclient/tests/unit/test_shell.py index f88f7fc..e1af879 100644 --- a/heatclient/tests/unit/test_shell.py +++ b/heatclient/tests/unit/test_shell.py @@ -620,7 +620,7 @@ class ShellTestEndpointType(TestCase): 'password': 'password', 'include_pass': False } - http._construct_http_client(u'http://heat.example.com', **kwargs) + http._construct_http_client(**kwargs) heatclient.v1.shell.do_stack_list(mox.IgnoreArg(), mox.IgnoreArg()) self.m.ReplayAll() @@ -639,7 +639,7 @@ class ShellTestEndpointType(TestCase): 'password': 'password', 'include_pass': False } - http._construct_http_client(u'http://heat-admin.localdomain', **kwargs) + http._construct_http_client(**kwargs) heatclient.v1.shell.do_stack_list(mox.IgnoreArg(), mox.IgnoreArg()) self.m.ReplayAll() @@ -660,7 +660,7 @@ class ShellTestEndpointType(TestCase): 'password': 'password', 'include_pass': False } - http._construct_http_client(u'http://heat.localdomain', **kwargs) + http._construct_http_client(**kwargs) heatclient.v1.shell.do_stack_list(mox.IgnoreArg(), mox.IgnoreArg()) self.m.ReplayAll() |