需求描述:获取和master同网段的minion的ip。

思路描述:要获取同网段的ip,首先必须知道master端的广播地址,然后minion根据这个广播地址去匹配到ip。

首先采用pillar方式获取master的广播地址。

grains和pillar实战_grains

这里我采用py renderer定义pillar更加灵活。图中可以看出master的广播地址是:192.168.79.255。


然后通过grains获取minion的ip。

grains和pillar实战_grains_02这段代码其实是salt的一段源代码,我只是稍作修改。salt源代码真是个金库啊。

同步grains后就可以获取ip了。

grains和pillar实战_salt_03


需求完成了,这个以后肯定用的着的。比如开启某个服务时,需要监听ip和端口,此时可以使用这个ip作为模版替换掉。


待续。。。。