通过执行以下操作,我看到了循环遍历清单文件地址的能力:
{% for url in groups['kafka'] %}
{%- if url == ansible_fqdn or url in ansible_all_ipv4_addresses
or ( kafka_id is defined and loop.index0 == kafka_id | int ) -%}
broker.id={{loop.index0}}
{% endif %}
{% endfor %}
这个想法的问题是,我有几个不同的“kafa”类型的主机,每个都会做一些稍微不同的事情。我想知道是否有一种方法可以通过playbook传递组的变量['kafka'],而不是在模板中硬编码。这样,我只使用特定播放的主机,可以为所有不同的播放重用相同的模板。
1条答案
按热度按时间qlzsbp2j1#
这是我的错,因为我试图用引号将组['foo'] Package 起来。我可以在playbook中设置一个变量,并通过执行以下操作来传递它:
然后把这个放在我的金贾模板里。