【问题标题】:Saltstack master can't find execution module, says not availableSaltstack master 找不到执行模块,说不可用
【发布时间】:2014-08-04 16:20:58
【问题描述】:

我写了一个简单的模块,把文件放在<salt_file_roots>/_modules下,内容差不多:

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

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

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.

当我从 master 调用时,我也会在 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 运行的部分,要么我想象了一个不存在的功能。

感谢任何帮助。

【问题讨论】:

  • 您使用的是什么版本的 Salt? “salt minion test.versions_report”和“salt-master --versions-report”的输出会很有帮助。
  • 这将我引向正确的方向,pycrypto 在 minion 上年龄较大。

标签: python salt-stack


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2021-03-28
    相关资源
    最近更新 更多