Fix os_user_role issue to grant a role in a domain

Set domain_id when domain is set or project/domain is set.

Change-Id: I0f189647cd9b97252f29055506f75dfd8398dee4
Task: 38309
Story: 2007184
This commit is contained in:
Valery Tschopp 2020-01-20 16:30:21 +01:00 committed by Sagi Shnaidman
parent 7c52b83b52
commit 4c03ae0c16

View File

@ -133,6 +133,7 @@ def main():
sdk, cloud = openstack_cloud_from_module(module) sdk, cloud = openstack_cloud_from_module(module)
try: try:
filters = {} filters = {}
domain_id = None
r = cloud.get_role(role) r = cloud.get_role(role)
if r is None: if r is None:
@ -144,6 +145,7 @@ def main():
if d is None: if d is None:
module.fail_json(msg="Domain %s is not valid" % domain) module.fail_json(msg="Domain %s is not valid" % domain)
filters['domain'] = d['id'] filters['domain'] = d['id']
domain_id = d['id']
if user: if user:
if domain: if domain:
u = cloud.get_user(user, domain_id=filters['domain']) u = cloud.get_user(user, domain_id=filters['domain'])
@ -158,7 +160,6 @@ def main():
if g is None: if g is None:
module.fail_json(msg="Group %s is not valid" % group) module.fail_json(msg="Group %s is not valid" % group)
filters['group'] = g['id'] filters['group'] = g['id']
domain_id = None
if project: if project:
if domain: if domain:
p = cloud.get_project(project, domain_id=filters['domain']) p = cloud.get_project(project, domain_id=filters['domain'])