Add user and project login domains to keystone

Added login_user_domain_name and login_project_domain_name parameters to
keystone module.

Closes-Bug: #1574000
Partial-Bug: #1614211

Change-Id: I29524ac9dad063c266122ecee09563531217974c
Signed-off-by: Gabor Lekeny <gabor.lekeny@ericsson.com>
(cherry picked from commit dce1b35de9)
This commit is contained in:
Gabor Lekeny 2016-04-23 15:12:23 +02:00 committed by Nolan Brubaker
parent 450d972f27
commit 620c64e316
2 changed files with 67 additions and 1 deletions

View File

@ -38,6 +38,11 @@ options:
- login username to authenticate to keystone
required: false
default: admin
login_user_domain_name:
description:
- The domain login_user belongs to
required: false
default: None
login_password:
description:
- Password of login user
@ -48,6 +53,11 @@ options:
- The project login_user belongs to
required: false
default: None
login_project_domain_name:
description:
- The domain login_project belongs to
required: false
default: None
login_tenant_name:
description:
- The tenant login_user belongs to
@ -524,6 +534,8 @@ class ManageKeystone(object):
'login_password',
'login_project_name',
'login_tenant_name',
'login_user_domain_name',
'login_project_domain_name',
'token',
'insecure'
]
@ -534,6 +546,10 @@ class ManageKeystone(object):
login_password = variables_dict.pop('login_password')
login_project_name = (variables_dict.pop('login_project_name', None) or
variables_dict.pop('login_tenant_name'))
user_domain_name = variables_dict.pop('login_user_domain_name',
'Default')
project_domain_name = variables_dict.pop('login_project_domain_name',
'Default')
token = variables_dict.pop('token')
insecure = variables_dict.pop('insecure')
@ -566,8 +582,10 @@ class ManageKeystone(object):
insecure=insecure,
auth_url=endpoint,
username=login_user,
user_domain_name=user_domain_name,
password=login_password,
project_name=login_project_name
project_name=login_project_name,
project_domain_name=project_domain_name,
)
def _get_domain_from_vars(self, variables):
@ -1178,6 +1196,9 @@ def main():
login_user=dict(
required=False
),
login_user_domain_name=dict(
required=False
),
login_password=dict(
required=False
),
@ -1187,6 +1208,9 @@ def main():
login_project_name=dict(
required=False
),
login_project_domain_name=dict(
required=False
),
token=dict(
required=False
),

View File

@ -0,0 +1,42 @@
---
features:
- |
The ability to support login user domain and login project domain has been added to the
keystone module.
::
# Example usage
- keystone:
command: ensure_user
endpoint: "{{ keystone_admin_endpoint }}"
login_user: admin
login_password: admin
login_project_name: admin
login_user_domain_name: custom
login_project_domain_name: custom
user_name: demo
password: demo
project_name: demo
domain_name: custom
fixes:
- |
The ability to support login user domain and login project domain has been added to the
keystone module. This resolves https://bugs.launchpad.net/openstack-ansible/+bug/1574000
::
# Example usage
- keystone:
command: ensure_user
endpoint: "{{ keystone_admin_endpoint }}"
login_user: admin
login_password: admin
login_project_name: admin
login_user_domain_name: custom
login_project_domain_name: custom
user_name: demo
password: demo
project_name: demo
domain_name: custom