我正在启动一个使用 Salt Stack 来协调配置的项目。但它现在不工作了——日志文件(在minion上,在/var/log/salt/minion)没有显示任何错误,但是minion没有按照我的要求做。
基本上,我正在构建一个包含几个顶级文件和至少两个 minion 配置的 SaltStack。特别是,我正在调试一个我称之为引导程序的奴才(因为它应该在奴才上引导一个盐主):
master: localhost
file_client: local
file_roots:
base:
- /srv/salt/base
- /srv/salt/states
master:
- /srv/salt/master
- /srv/salt/master/states
据我所知,Salt 很好地加载了顶级文件,并将它们解析为有效对象,但 Salt 没有运行任何命令来响应这些对象。事实上,minion 日志文件说:
2014-03-01 23:00:09,644 [salt.utils.jinja ][DEBUG ] Jinja search path: '['/srv/salt/base', '/srv/salt/state
2014-03-01 23:00:09,651 [salt.template ][DEBUG ] Rendered data from file: /srv/salt/base/top.sls:
base:
'*':
- edit.vim
- essential
- users.root
2014-03-01 23:00:09,656 [salt.loaded.int.render.yaml][DEBUG ] Results of YAML rendering:
OrderedDict([('base', OrderedDict([('*', ['edit.vim', 'essential', 'users.root'])]))])
一切看起来都不错,只是它立即跳转到:
2014-03-01 23:00:09,661 [salt.utils.jinja ][DEBUG ] Jinja search path: '['/srv/salt/master', '/srv/salt/mas
2014-03-01 23:00:09,662 [salt.template ][DEBUG ] Rendered data from file: /srv/salt/master/top.sls:
master:
'10.47.94.0/24':
- match: ipcidr
- master
- srv.dns.unbound
2014-03-01 23:00:09,665 [salt.loaded.int.render.yaml][DEBUG ] Results of YAML rendering:
OrderedDict([('master', OrderedDict([('10.47.94.0/24', [OrderedDict([('match', 'ipcidr')]), 'master', 'srv.dns.unbound'])]))])
在整个日志文件的其余部分中,base 再也没有被提及。并且与 base 相关的命令/状态没有运行。我确实看到了 edit.vim、srv.dns.unbound 等的日志条目。但它们都遵循相同的模式:解析并且什么都不做。
我究竟做错了什么?我有一个模糊的印象,它与我的 minion 配置中有多个 file_roots 有关,但在我知道架构应该是什么之前,我宁愿不进行架构更改。(我之前已经尝试过使用Salt,遇到“this”静默错误,重新开始,现在又遇到了)