首页 文章

salt无法识别master配置中的file_roots

提问于
浏览
0

我想执行以下命令:

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 回答

  • 0
    • 使用更简单的模块调用 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 .

相关问题