From 77e01e6abc67efe4056924c620281f29a42c0159 Mon Sep 17 00:00:00 2001 From: Pilou Date: Wed, 26 Jun 2019 08:04:50 +0000 Subject: [PATCH] tower_role: ensure alias of "validate_certs" parameter is handled (#57518) * tower_role: ensure alias of validate_certs is handled * tower modules: remove tower_verify_ssl alias too Error was: Failed to update role: The Tower server claims it was sent a bad request. GET https://tower/api/v2/projects/22/object_roles/ Params: [('tower_verify_ssl', False), ('role_field', 'admin_role')] Data: None Response: {"detail": "Role has no field named 'tower_verify_ssl'"} Full traceback: File "/tmp/ansible_tower_role_payload_7_2p0X/__main__.py", line 145, in main result = role.grant(**params) File "/usr/local/lib/python2.7/dist-packages/tower_cli/resources/role.py", line 365, in grant return self.role_write(fail_on_found=fail_on_found, **kwargs) File "/usr/local/lib/python2.7/dist-packages/tower_cli/resources/role.py", line 242, in role_write fail_on_multiple_results=True, **data) File "/usr/local/lib/python2.7/dist-packages/tower_cli/models/base.py", line 301, in read r = client.get(url, params=params) File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 546, in get return self.request('GET', url, **kwargs) File "/usr/local/lib/python2.7/dist-packages/tower_cli/api.py", line 299, in request kwargs.get('data', None), r.content.decode('utf8')) --- lib/ansible/module_utils/ansible_tower.py | 1 + test/integration/targets/tower_role/tasks/main.yml | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/lib/ansible/module_utils/ansible_tower.py b/lib/ansible/module_utils/ansible_tower.py index e20dd21326a..ef687a669c6 100644 --- a/lib/ansible/module_utils/ansible_tower.py +++ b/lib/ansible/module_utils/ansible_tower.py @@ -70,6 +70,7 @@ def tower_auth_config(module): password = module.params.pop('tower_password', None) if password: auth_config['password'] = password + module.params.pop('tower_verify_ssl', None) # pop alias if used verify_ssl = module.params.pop('validate_certs', None) if verify_ssl is not None: auth_config['verify_ssl'] = verify_ssl diff --git a/test/integration/targets/tower_role/tasks/main.yml b/test/integration/targets/tower_role/tasks/main.yml index eb1602f9b60..7088cc8059e 100644 --- a/test/integration/targets/tower_role/tasks/main.yml +++ b/test/integration/targets/tower_role/tasks/main.yml @@ -27,6 +27,14 @@ that: - "result is changed" +- name: Test tower_verify_ssl alias + tower_role: + user: joe + role: update + project: Demo Project + tower_verify_ssl: true + state: absent + - name: Delete a User tower_user: username: joe