summaryrefslogtreecommitdiff
path: root/openstackclient/common
diff options
context:
space:
mode:
authorHieu LE <hieulq@vn.fujitsu.com>2016-04-04 18:19:50 +0700
committerSteve Martinelli <s.martinelli@gmail.com>2016-05-06 03:42:15 +0000
commit59de9c477cb91573372bd363dfd0fc72af461327 (patch)
tree88bc35609ef8b0439d0f23cdf845e13fec3d2b5c /openstackclient/common
parent461a203f2d0e653eabe9a023cfdbe90669ff0618 (diff)
downloadpython-openstackclient-59de9c477cb91573372bd363dfd0fc72af461327.tar.gz
Ignore domain related config when using with keystone v2
Currently, "/usr/bin/openstack --insecure token issue" fails when OS_AUTH_URL and OS_IDENTITY_API_VERSION indicate keystone v2 if OS_PROJECT_DOMAIN_NAME or OS_USER_DOMAIN_NAME are set. This patchset ignore domain related configs if using with keystone v2. Change-Id: If7eea2ed1a4877c60d055ed0114a5e5f31e282a0 Closes-bug: #1447704
Diffstat (limited to 'openstackclient/common')
-rw-r--r--openstackclient/common/clientmanager.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/openstackclient/common/clientmanager.py b/openstackclient/common/clientmanager.py
index 8b0fb921..c29bf224 100644
--- a/openstackclient/common/clientmanager.py
+++ b/openstackclient/common/clientmanager.py
@@ -195,6 +195,18 @@ class ClientManager(object):
not self._auth_params.get('user_domain_name')):
self._auth_params['user_domain_id'] = default_domain
+ # NOTE(hieulq): If USER_DOMAIN_NAME, USER_DOMAIN_ID, PROJECT_DOMAIN_ID
+ # or PROJECT_DOMAIN_NAME is present and API_VERSION is 2.0, then
+ # ignore all domain related configs.
+ if (self._api_version.get('identity') == '2.0' and
+ self.auth_plugin_name.endswith('password')):
+ LOG.warning("Ignoring domain related configs "
+ "because identity API version is 2.0")
+ domain_props = ['project_domain_name', 'project_domain_id',
+ 'user_domain_name', 'user_domain_id']
+ for prop in domain_props:
+ self._auth_params.pop(prop, None)
+
# For compatibility until all clients can be updated
if 'project_name' in self._auth_params:
self._project_name = self._auth_params['project_name']