如何将salt执行模块与非python依赖项同步

时间:2015-09-24 13:29:30

标签: python salt-stack

我正在将perl / bash工具转换为salt模块,我想知道如何将此模块的非python部分同步到我的minions。

我想运行salt agent-less,理想情况下,一旦通过salt-ssh调用,依赖项将自动与模块本身同步。

但似乎只有python脚本才能同步。想要一个漂亮而干净的解决方案吗?

在模块执行期间从salt文件服务器复制必要的文件对我来说似乎有点不对..

1 个答案:

答案 0 :(得分:2)

仅支持python扩展,因此最好的办法是执行以下操作:

1)通过file.managed / file.recurse州部署非Python组件。

2)确保您的自定义执行模块有__virtual__()函数检查是否存在非Python依赖项,如果它们不存在则返回False。除非存在deps,否则这将使模块无法加载和使用。

3)使用saltutil.sync_modules同步您的自定义模块。此函数还将重新调用加载程序以更新minion上的可用执行模块,因此如果您已经同步了自定义模块并稍后部署了非Python依赖项,saltutil.sync_modules将重新加载自定义模块,如果您的__virtual__()函数返回True或所需的模块名称,那么您的执行模块将可供使用。