我想执行以下命令:
1)salt '*' state.sls test
(test是.sls文件的名称,其abspath是/srv/salt/test.sls)
结果是:
minion-10-211-55-3:
Data failed to compile:
----------
No matching sls found for 'test' in env 'base'
2)salt '*' cp.get_file salt://hello.txt c:/new/hello.txt makedirs=True
(hello.txt存在于/ srv / salt中)
此命令不会返回任何结果,它肯定会失败。
我曾经成功地执行过两个命令,但总有一天我不能这样做。我不记得我改变了哪个配置。
master config中的file_roots部分是:
file_roots:
base:
- /srv/salt
dev:
- /srv/salt-dev
我已经陷入这个问题几天了。因为这两个命令与env'base'有关,我认为这是file_roots配置的问题。我已经检查了我的主配置是对的,我已经通过服务salt-master重启很多次来重新启动salt-master以使配置工作。
为什么盐仍有问题? file_roots设置似乎是正确的。配置不起作用吗?
任何帮助,方向表示赞赏。 感谢。
test.sls是:
run-an-exe:
cmd.run:
- name: c:/Salt-Minion-2015.8.8-2-AMD64-Setup.exe
我只想测试salt是否可以控制windows minion从linux master运行.exe。成功执行命令后,我可以在任务管理器中检查名为 Salt-Minion-2015.8.8-2-AMD64-Setup.exe 的进程。
OS:
master:CentOS 6.7(最终)
minion-10-211-55-3:windows 7
答案 0 :(得分:0)
使用更简单的模块调用salt '*' state.apply test
确保master和minion的版本相同
启动salt-master时,使用sudo salt-master -l debug
运行守护程序来诊断问题。
始终使用yaml架构元解析器(例如kwalify,例如,kwalify)验证您的STATE文件。 kwalify -m test.sls
。是的,SLS包含语法错误(例如标签和空格的混合)将吐出错误的"丢失的文件"错误。
对于先前运行的minion失败的语句,重启minion。