2017-03-22 25 views
0

我找到了Change variable in Ansible template based on group。但是,我如何在有孩子的羣體中延長答案?更改Ansible模板中的變量,基於組與兒童?

如果我延長集團瓦爾文件在上面的鏈接

[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

一般提供默認

# role_name/templates/template.j2 node_master={{ role_name_node_master | default(true) }} 

比覆蓋,這是你希望避免的結構。組名不應該存儲在模板中。更好的定義一個變量並在group_vars中覆蓋這個變量。 – t2d

回答

0

你應該做的是:
在模板中group_vars

# group_vars/es-masters.yml 
role_name_node_master: false