我需要为 Ansible Tower Job-Template 中的单个剧本使用两个不同的凭据。在剧本中,我包括两个角色(一个用于 Windows 机器,一个用于 Linux 机器)。在配置作业模板时,我注意到我无法选择两个机器凭据,因此剧本失败。
我在这里找到了一个解决方案https://stackoverflow.com/a/55870311/4715624,其中包括在文件夹下创建两个 Ansible 保险库(具有相同的保险库密码)host_vars
并将密码保存在那里。此解决方案可从命令行工作,例如
ansible-playbook -v test-multi-credential-playbook-in-ansible-tower.yml --ask-vault-pass
然后,我在 Ansible Tower 中创建了一个保管库类型凭据,并尝试使用该凭据运行相应的作业。但这不起作用(身份验证问题)。有人可以告诉我在 Ansible Tower 中为单个剧本使用多个凭据的正确方法吗?或者在 Ansible Tower 中根本不可能?
更新:我的剧本如下所示:
---
- hosts: all
gather_facts: true
tasks:
- name: Include ping linux task
include_role:
name: roles/linux
when: ansible_os_family != "Windows"
- name: Include ping windows task
include_role:
name: roles/windows
when: ansible_os_family == "Windows"