【发布时间】:2019-04-26 02:03:53
【问题描述】:
我的 Ansible 计划中有一个变量,我是这样设置的 -
pre_tasks:
- name: Hosts
debug:
msg: "dev_web"
register: web_server_group
在我的主机文件中,我有一个这样的条目 -
[dev_web]
1.1.1.6
在我的 Ansible 计划中,我有一个 delegate_to 命令,它尝试使用定义为组名的 web_server_group 变量在该 dev_web 组内的主机上运行。
- name: Folder creation
file:
path: /tmp/dummy
owner: apache
group: apache
mode: 0770
state: directory
delegate_to: "{{ web_server_group }}"
这给了我这个错误 -
UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname web_server_group: Name or service not known", "unreachable": true}
有没有办法让 delegate_to 命令填充应该在我设置为预任务的 web_server_group 变量中的主机?
我尝试用这个替换 delegate_to 命令 -
delegate_to: '{{ item }}'
with_items: "{{ groups['web_server_group'] }}"
但我得到了这个错误 -
FAILED! => {"msg": "'dict object' has no attribute 'web_server_group'"}
有没有其他方法可以完成这个或类似的事情?
谢谢。
【问题讨论】:
标签: ansible