From 0a9cdf647a2a7d663a871c7ee0fd3fec739d7688 Mon Sep 17 00:00:00 2001 From: Alvaro Aleman Date: Thu, 21 Jul 2016 17:40:57 +0200 Subject: [PATCH] Make os_user_role respect domain when querying for projects (#2520) --- .../modules/extras/cloud/openstack/os_user_role.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/ansible/modules/extras/cloud/openstack/os_user_role.py b/lib/ansible/modules/extras/cloud/openstack/os_user_role.py index c034908f86..22f41830c6 100644 --- a/lib/ansible/modules/extras/cloud/openstack/os_user_role.py +++ b/lib/ansible/modules/extras/cloud/openstack/os_user_role.py @@ -165,16 +165,20 @@ def main(): if g is None: module.fail_json(msg="Group %s is not valid" % group) filters['group'] = g['id'] - if project: - p = cloud.get_project(project) - if p is None: - module.fail_json(msg="Project %s is not valid" % project) - filters['project'] = p['id'] if domain: d = cloud.get_domain(domain) if d is None: module.fail_json(msg="Domain %s is not valid" % domain) filters['domain'] = d['id'] + if project: + if domain: + p = cloud.get_project(project, domain_id=filters['domain']) + else: + p = cloud.get_project(project) + + if p is None: + module.fail_json(msg="Project %s is not valid" % project) + filters['project'] = p['id'] assignment = cloud.list_role_assignments(filters=filters)