我有haproxy角色,变量在vars/main.yml下定义,模板在template/haproxy.cfg.j2下定义
在main.yml变量文件中,我定义了这个变量: iface: ansible_default_ipv4.interface
在模板文件中:
backend app
balance roundrobin
{% for host in groups['web'] %}
server {{ host }} {{ hostvars[host]['ansible_'+ iface ]['ipv4']['address'] }}:80 check
{% endfor %}问题是当我执行剧本时,我得到以下错误: changed":false,"msg":"AnsibleUndefinedVariable:'ansible.vars.hostvars.HostVarsVars object‘没有属性u'ansible_ansible_default_ipv4.interface’
所以我知道我在连接'ansible_'+iface时遇到了问题。
请帮帮忙。
发布于 2020-10-28 06:45:58
在两个变量定义上都有ansible_
iface: ansible_default_ipv4.interface`和模板
server {{ host }} {{ hostvars[host]['ansible_'+ iface ]['ipv4']['address'] }}:80 check因此,串联会创建您在错误消息中看到的名称ansible_ansible_default_ipv4.interface。
请将其从其中一个位置删除,然后重试。
https://stackoverflow.com/questions/64396168
复制相似问题