【发布时间】:2020-02-13 14:22:37
【问题描述】:
我在 Playbook maint-change.yml 中寻址的主机属于两个组(instancegroup1 和 instancegroup2,每个组中有多个主机),如下所示:
- hosts: "{{ server | default('instancegroup1 instancegroup2') }}"
因此,如果我只想针对一台主机运行 Playbook,我将使用 (-e EXTRA_VARS) 变量 server 和实例中的主机名进行限制:
ansible-playbook maint-change.yml -e server=test.instance2
在这种情况下,“test.instance2”在 instancegroup2 的清单文件中是 listet,并且 playbook 只会针对主机“test.instance2”成功运行。
但是 awx 怎么可能呢?如果我使用上面提到的变量 server 使用相同的 Playbook“maint-change.yml”创建了模板,则无法将“server=test.instance2”粘贴到模板的额外变量字段。是否有任何解决方案可以从 awx 模板的 EXTRA VARIABLES 字段中的 Playbook 中设置特定变量 server?
【问题讨论】:
标签: ansible ansible-inventory ansible-awx ansible-tower