Saltstack master无法找到执行模块,说不可用

时间:2014-07-29 13:52:48

标签: python salt-stack

我编写了一个简单的模块并将文件放在<salt_file_roots>/_modules下,内容或多或少:

# foomod.py
def foo(*args):
    return {'name': 'foo', 'result': True}

我已经运行salt minion saltutil.sync_all,已经看到了我添加的模块的输出。我可以看到它也在minion日志中同步。

minion:
    - modules.foomod

1。我可以从小兵那里使用它:

$ salt-call foomod.foo
local:
    ----------
    name:
        foo
    result:
        True

2. 我可以使用module.run将其包含在状态中并运行状态,它也可以。

3。但是当我从主人那里召唤它时,会发生这种情况:

$ salt minion foomod.foo
minion:
    - 'foomod.foo' is not available.

当我从主人

打电话时,我也看到了对minion日志的调用
2014-07-29 15:30:44,290 [salt.minion      ][INFO    ] User root Executing command foomod.foo with jid 20140729153044256654
2014-07-29 15:30:44,291 [salt.minion      ][DEBUG   ] Command details {'tgt_type': 'glob', 'jid': '20140729153044256654', 'tgt': 'minion', 'ret': '', 'user': 'root', 'arg': [], 'fun': 'foomod.foo'}
2014-07-29 15:30:44,308 [salt.minion      ][INFO    ] Returning information for job: 20140729153044256654

所以要么我跳过了我直接从master运行它的部分,或者我想象了一个不存在的功能。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

回答自己的问题。 Salt master有pycrypto==2.6.1而minion有pycrypto==2.4.1。在minion上更新它解决了它。