我找到了Change variable in Ansible template based on group。但是,如何在有孩子的小组中扩展答案?
如果我将上述链接中的group vars文件扩展到
[host0]
host0.my-network.com
[host1]
host1.my-network.com
[es-masters:children]
host0
host1
如何扩展上述帖子的答案(如下所示),使其适用于上述的组变量文件?简单地将FQDN放在jinja2语句中是行不通的。
{% if ansible_fqdn in groups['es-masters'] %}
node_master=true
{% else %}
node_master=false
{% endif %}
答案 0 :(得分:0)
你应该做的是:
提供模板中的默认值
# role_name/templates/template.j2
node_master={{ role_name_node_master | default(true) }}
在group_vars中覆盖
# group_vars/es-masters.yml
role_name_node_master: false