我想执行以下命令:
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配置中的file_roots部分是这样的:
file_roots:
base:
- /srv/salt
dev:
- /srv/salt-dev
我已经陷入了这个问题几天 . 因为这两个命令与env'base'有关,我认为这是file_roots配置的问题 . 我已经检查了我的主配置是对的,并且我已经通过服务salt-master重启很多次来重新启动salt-master以使配置工作 .
为什么盐仍有问题? file_roots设置似乎是正确的 . 配置不起作用??
Any help, direction is appreciated. Thanks.
test.sls是:
run-an-exe:
cmd.run:
- name: c:/Salt-Minion-2015.8.8-2-AMD64-Setup.exe
我只想测试salt是否可以控制windows minion从linux master运行.exe . 当命令执行成功后,我可以在taskmanager中检查名为Salt-Minion-2015.8.8-2-AMD64-Setup.exe的进程 .
OS:
大师:CentOS 6.7(最终版)
minion-10-211-55-3:windows 7
1 回答
使用更简单的模块调用
salt '*' state.apply test
确保master和minion是相同的版本
启动salt-master时,使用
sudo salt-master -l debug
运行守护程序以诊断问题 .始终使用yaml模式元解析器(例如kwalify,例如,kwalify)验证您的STATE文件 .
kwalify -m test.sls
. 是的,SLS包含语法错误(例如tab和space的混合)会吐出错误的"missing file"错误 .对于先前运行的minion失败的语句,重启minion .