summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-01-16 19:30:22 +0000
committerGerrit Code Review <review@openstack.org>2015-01-16 19:30:22 +0000
commit655b76f649daba7d33823ce1955f572fc9df36f4 (patch)
tree3ba648686c8317141f468af3edd2c9b19629346d /openstackclient
parent77097c6cd48142e94853aa568692fcae0187a885 (diff)
parent1d75edb1678e42a36879245c6ebac69c14a5f965 (diff)
downloadpython-openstackclient-655b76f649daba7d33823ce1955f572fc9df36f4.tar.gz
Merge "Default user domain id and project domain id"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/common/clientmanager.py17
-rw-r--r--openstackclient/tests/common/test_clientmanager.py1
2 files changed, 18 insertions, 0 deletions
diff --git a/openstackclient/common/clientmanager.py b/openstackclient/common/clientmanager.py
index 0396e83d..2a138d94 100644
--- a/openstackclient/common/clientmanager.py
+++ b/openstackclient/common/clientmanager.py
@@ -98,6 +98,23 @@ class ClientManager(object):
self._auth_ref = None
self.timing = auth_options.timing
+ default_domain = auth_options.os_default_domain
+ # NOTE(stevemar): If PROJECT_DOMAIN_ID or PROJECT_DOMAIN_NAME is
+ # present, then do not change the behaviour. Otherwise, set the
+ # PROJECT_DOMAIN_ID to 'OS_DEFAULT_DOMAIN' for better usability.
+ if (self._api_version.get('identity') == '3' and
+ not self._auth_params.get('project_domain_id') and
+ not self._auth_params.get('project_domain_name')):
+ self._auth_params['project_domain_id'] = default_domain
+
+ # NOTE(stevemar): If USER_DOMAIN_ID or USER_DOMAIN_NAME is present,
+ # then do not change the behaviour. Otherwise, set the USER_DOMAIN_ID
+ # to 'OS_DEFAULT_DOMAIN' for better usability.
+ if (self._api_version.get('identity') == '3' and
+ not self._auth_params.get('user_domain_id') and
+ not self._auth_params.get('user_domain_name')):
+ self._auth_params['user_domain_id'] = default_domain
+
# For compatibility until all clients can be updated
if 'project_name' in self._auth_params:
self._project_name = self._auth_params['project_name']
diff --git a/openstackclient/tests/common/test_clientmanager.py b/openstackclient/tests/common/test_clientmanager.py
index 8c27e562..9e9964ed 100644
--- a/openstackclient/tests/common/test_clientmanager.py
+++ b/openstackclient/tests/common/test_clientmanager.py
@@ -49,6 +49,7 @@ class FakeOptions(object):
self.timing = None
self.os_region_name = None
self.os_url = None
+ self.os_default_domain = 'default'
self.__dict__.update(kwargs)