From fc370104156810cb4f65a3235d6bf6ab65f028bd Mon Sep 17 00:00:00 2001 From: Boris Bobrov Date: Thu, 17 Nov 2016 13:46:21 +0300 Subject: [PATCH] Use project_domain_id only in password auth The method being changed constructs domain-related parameters that will further be passed to the auth plugin. If project domain is not passed, the method sets it to the default domain. token_endpoint does not expect any information about domain, because it uses only a token and URL. Passing it to auth plugin causes an exception. Construct domain-related parameters only for specific plugins, such as password or totp. Change-Id: I13db3bbe31a0ed843e9f4528d37c768546e2bee9 Closes-Bug: 1642301 (cherry picked from commit e51a8d63747932f2ee4ffab02dfb0cd43e4a103d) --- diff --git a/openstackclient/common/client_config.py b/openstackclient/common/client_config.py index 895909e..e23b07b 100644 --- a/openstackclient/common/client_config.py +++ b/openstackclient/common/client_config.py @@ -148,6 +148,7 @@ # present, then do not change the behaviour. Otherwise, set the # PROJECT_DOMAIN_ID to 'OS_DEFAULT_DOMAIN' for better usability. if ( + auth_type in ("password", "v3password", "v3totp") and not config['auth'].get('project_domain_id') and not config['auth'].get('project_domain_name') ):