我试图比较两个库存文件为基础的主机的hostvars魔术变量的值在一个Ansible模板。基本的要求是,只有当库存中的两个主机的IP地址不相同时,才能确保在最终的模板输出中包含一个项。
我试过这样做:
{%if {{hostvars[‘CoolServer-1’][‘ansible_default_ipv4’][‘address’]}} != {{hostvars[‘Coolserver2-1’][‘ansible_default_ipv4’][‘address’]}} %}
df -h
{% endif %}然而,这失败了,Jinja/Ansible抓狂了。有什么方法可以通过比较Jinja中的hostvars值和Ansible来完成我想要做的事情吗?
发布于 2017-04-18 13:54:26
您不应该在{{内部使用{% if。
试着:
{% if hostvars['CoolServer-1']['ansible_default_ipv4']['address'] != hostvars['Coolserver2-1']['ansible_default_ipv4']['address'] %}
df -h
{% endif %}再看看你的单引号(‘),它们看起来很奇怪,和'不同。
https://stackoverflow.com/questions/43474034
复制相似问题