我对盐很新,我有以下设置 - 仍在进行中:

  • 支柱数据(包含指定应用程序环境的字典)

  • 执行模块setup.py包含读出支柱的函数

在minion minion1上调用模块时,它工作正常

salt-call setup.set_up_minion1 --log-level=debug

在主服务器上调用模块时它不起作用

salt 'minion1' setup.set_up_minion1 --log-level=debug

错误是

The minion function caused an exception: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/salt/minion.py", line 1071, in _thread_return
    return_data = func(*args, **kwargs)
  File "/var/cache/salt/minion/extmods/modules/setup.py", line 38, in set_up_minion1
    environment_definition = __pillar__["minion1"]
KeyError: 'minion1'

错误消息中提到的代码行是

environment_definition = __pillar__["minion1"]

正如您在错误消息中看到的那样,salt无法在支柱中找到“minion1”键 . 我不知道发生了什么,为什么......

我从服务器测试了支柱的内容:

salt '*1*' pillar.items

回报

minion1.mydomain.nope:
----------
minion1:
    ----------
    app_server_definition:
        minion1_app
    db_server_definition:
        minion1_db
<snip>

来自奴才:

salt-call pillar.items

回报

local:
----------
minion1:
    ----------
    app_server_definition:
        minion1_app
    db_server_definition:
        minion1_db
<snip>

任何人都可以请解释我发生了什么以及为什么我不能从服务器调用执行模块?谢谢 .