From a37a18c0bff254a31b24d6f48ad0cd5b4fd2fdd7 Mon Sep 17 00:00:00 2001 From: Andrea Tartaglia Date: Wed, 19 Dec 2018 12:01:12 +0000 Subject: [PATCH] Added organization in the scm_credential get (#49884) * Added organization in the scm_credential get * Fallback looking for cred in project org * Tests project with multi org credential * Fixed CI issue * Added changelog fragment --- .../web_infrastructure/ansible_tower/tower_project.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py b/lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py index ec36390217..6d6a80260a 100644 --- a/lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py +++ b/lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py @@ -146,7 +146,11 @@ def main(): if scm_credential: try: cred_res = tower_cli.get_resource('credential') - cred = cred_res.get(name=scm_credential) + try: + cred = cred_res.get(name=scm_credential) + except (tower_cli.exceptions.MultipleResults) as multi_res_excinfo: + module.warn('Multiple credentials found for {0}, falling back looking in project organization'.format(scm_credential)) + cred = cred_res.get(name=scm_credential, organization=org['id']) scm_credential = cred['id'] except (exc.NotFound) as excinfo: module.fail_json(msg='Failed to update project, credential not found: {0}'.format(scm_credential), changed=False)