基本上,我正在创建一个描述 Munin 服务器配置的 Salt 状态,我需要获取主节点已知的所有随从的列表,如下所示:
{% for host in pillar['munin_clients'] %}
[{{ host.fqdn }}]
address {{ host.ip }}
use_node_name yes
{% endfor %}
唯一的区别是我不想为此使用 pillar,我需要动态填充此列表。
ret.get_minions
似乎是相关的,但由于某种原因我无法让它工作。我有哪些选择?
最佳答案
我设法使用 Salt Mine 系统实现了这一点(感谢 Salt-users Google 组的成员):
{% for host, hostinfo in salt['mine.get']('*', 'network.interfaces').items() %}
[{{ host }}]
address {{ hostinfo['eth0']['inet'][0]['address'] if hostinfo['eth0'].has_key('inet') else hostinfo['br0']['inet'][0]['address'] }}
use_node_name yes
{% endfor %}
我不得不添加
mine_functions:
network.interfaces: []
到最后
/etc/salt/minion
在每个节点上启用盐矿。
关于configuration-management - 如何获取模板中所有 salt 的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17158665/