主机
[mesosSandbox]
mesos1-01d.chalybs.net zoo_id=1
mesos1-02d.chalybs.net zoo_id=2
mesos1-03d.chalybs.net zoo_id=3
mesos1-04d.chalybs.net
mesos1-05d.chalybs.net
Run Code Online (Sandbox Code Playgroud)
我有一个生成 Zookeeper Zoo.cfg 的模板
{% for server in groups[cluster] %}
server.{{loop.index}}={{server}}:2888:3888
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
有没有办法添加if zoo_id is defined到此循环或者我可以通过剧本中的任务生成列表?
小智 5
Ansible 的if var is defined语法源自 jinja。您应该能够在循环中检查动物园 ID:
{% for server in groups[cluster] %}
{% if hostvars[server].zoo_id is defined %}
server.{{loop.index}}={{server}}:2888:3888
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我不能说这是否会在没有看到更多剧本的情况下编译/运行,但假设问题中的循环按原样工作,这将允许您过滤是否已zoo_id定义。
| 归档时间: |
|
| 查看次数: |
7387 次 |
| 最近记录: |