saltstack自定义模块
saltstack模块是指被salt调用的python函数。默认路径在/srv/salt/_modules。调用方法是:
salt "*" 文件名.函数名
支持python和Cython,python以.py结尾,Cython以.pyx结尾。
同步到minion的方法:
1、salt "*" state.apply
2、salt "*" saltutil.sync_modules
3、salt "*" altutil.sync_all
编写自定义模块
首先进入模块目录/srv/salt/_modules
,然后编写一个模块temp.py
:
def test():
print "hello"
return "how are you"
同步这个模块到客户端:
salt '*' saltutil.sync_modules
然后执行这个模块:
salt '*' temp.test
发现这里的输出中没有原来模块中的print,只有return,原因是minion不会返回输出到标准输出的数据而是处理return的数据
调用salt module
salt提供了dict: salt,例如调用cmd.run模块只需要指定 __salt__['cmd.run']
即可。传入参数则指定 __salt__['cmd.run']['a']
。