Jinja2 / Ansible比较模板中的HostVars值

时间:2017-04-18 13:46:08

标签: ansible ansible-template

我正在尝试比较2个基于库存文件的主机的值' Ansible Jinja模板中的hostvars个魔术变量。要求是基本上确保只有当清单中2个主机的IP地址不相同时,项目才会包含在结果模板输出中。

我试过这样做:

{%if {{hostvars[‘CoolServer-1’][‘ansible_default_ipv4’][‘address’]}} != {{hostvars[‘Coolserver2-1’][‘ansible_default_ipv4’][‘address’]}} %}
df -h
{% endif %}

然而,失败了,Jinja / Ansible吓坏了。有没有办法可以通过比较Jinja中的hostvars值和Ansible来完成我想要做的事情?

1 个答案:

答案 0 :(得分:1)

您不应在<div id="control_panel"> <button onclick="change_light()">Change Light</button> </div> <div id="traffic_light"> <div id="red_light" class="light">red</div> <div id="amber_light" class="light">amber</div> <div id="green_light" class="light">green</div> </div>内使用{{

尝试:

{% if

P.S。并检查您的单引号({% if hostvars['CoolServer-1']['ansible_default_ipv4']['address'] != hostvars['Coolserver2-1']['ansible_default_ipv4']['address'] %} df -h {% endif %} ),它们看起来很奇怪,与不同。