python-keystoneclient should also be changed in our solution of this bug.
problem: the auth/tokens request mistakenly use domain_id instead of domain_name.
solution: In keystoneclient.v3.client._do_auth() fix json construction process.
Changes:
1. python-openstackclient/openstackclient/shell.py: add default_domain parameter in method def authenticate_user(self), passing os_default_domain to client manager init.
2. python-openstackclient/openstackclient/common/clientmanager.py: pass default_domain to self._domain in __init__()
3. python-openstackclient/openstackclient/identity.py: add domain attributes when instantiating identity_client.
+ domain_name=instance._domain,
+ user_domain_name=instance._domain,
+ project_domain_name=instance._domain,
4. python-keystoneclient/keystoneclient/v3/client.py:
#if (domain_id or domain_name) and (project_id or project_name):
# raise ValueError('Authentication cannot be scoped to both domain'
# ' and project.')
The 4th change is critical but not sure if it affects others.
python- keystoneclient should also be changed in our solution of this bug.
problem: the auth/tokens request mistakenly use domain_id instead of domain_name. v3.client. _do_auth( ) fix json construction process. openstackclient /openstackclien t/shell. py: add default_domain parameter in method def authenticate_ user(self) , passing os_default_domain to client manager init. openstackclient /openstackclien t/common/ clientmanager. py: pass default_domain to self._domain in __init__() openstackclient /openstackclien t/identity. py: add domain attributes when instantiating identity_client. name=instance. _domain, name=instance. _domain, domain_ name=instance. _domain, keystoneclient/ keystoneclient/ v3/client. py: 'Authentication cannot be scoped to both domain'
solution: In keystoneclient.
Changes:
1. python-
2. python-
3. python-
+ domain_
+ user_domain_
+ project_
4. python-
#if (domain_id or domain_name) and (project_id or project_name):
# raise ValueError(
# ' and project.')
The 4th change is critical but not sure if it affects others.