salt无法识别master

时间:2016-05-20 05:40:00

标签: salt-stack

我想执行以下命令:

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

1 个答案:

答案 0 :(得分:0)

  1. 使用更简单的模块调用salt '*' state.apply test

  2. 确保master和minion的版本相同

  3. 启动salt-master时,使用sudo salt-master -l debug运行守护程序来诊断问题。

  4. 始终使用yaml架构元解析器(例如kwalify,例如,kwalify)验证您的STATE文件。 kwalify -m test.sls。是的,SLS包含语法错误(例如标签和空格的混合)将吐出错误的"丢失的文件"错误。

  5. 对于先前运行的minion失败的语句,重启minion。