2

在将状态文件应用于盐的奴才时遇到问题,它们只是基本的测试文件,没有什么复杂的。

在我的主配置文件中,我有以下文件根定义:

file_roots:
  base:
    - /srv/salt/

我的 /srv/salt/top.sls 文件如下所示:

base:
  '*':
    - vim

然后在 /srv/salt/vim/init.sls 我有以下内容:

vim:
  pkg.installed

所以,这应该在应用时应用于所有的奴才,所以我运行以下命令:

sudo salt '*' state.apply

我得到以下输出,但它没有被应用,因为它似乎没有检测到 top.sls 文件?

salt-master-1:
----------
          ID: states
    Function: no.None
      Result: False
     Comment: No Top file or master_tops data matches found.
     Changes:   

Summary for salt-master-1
------------
Succeeded: 0
Failed:    1
------------
Total states run:     1
Total run time:   0.000 ms
dev-docker-1:
----------
          ID: states
    Function: no.None
      Result: False
     Comment: No Top file or master_tops data matches found.
     Changes:   

Summary for dev-docker-1
------------
Succeeded: 0
Failed:    1
------------
Total states run:     1
Total run time:   0.000 ms
ERROR: Minions returned with non-zero exit code

如果我查看 minion 的日志,dev-docker-1 没有任何内容被记录为错误,我所看到的就是这个。

2018-11-08 18:33:12,993 [salt.minion      :1429][INFO    ][4883] User sudo_salt Executing command state.apply with jid 20181108183312990343
2018-11-08 18:33:13,015 [salt.minion      :1564][INFO    ][5438] Starting a new job with PID 5438
2018-11-08 18:33:13,331 [salt.state       :933 ][INFO    ][5438] Loading fresh modules for state activity
2018-11-08 18:33:13,448 [salt.minion      :1863][INFO    ][5438] Returning information for job: 20181108183312990343

任何帮助都非常感谢,因为我对为什么这不起作用有点迷茫。. .

编辑 1

我在 minion 上启用了详细日志记录,我看到以下内容,似乎看不到 top.sls 文件

[DEBUG   ] Could not find file 'salt://top.sls' in saltenv 'base'
[DEBUG   ] No contents loaded for saltenv 'base'
[DEBUG   ] No contents found in top file. If this is not expected, verify that the 'file_roots' specified in 'etc/master' are accessible. The 'file_roots' configuration is: {u'base': []}
4

1 回答 1

1

好的,所以我解决了这个问题,操作员错误。

我在配置文件中启用了 gitfs 后端,它覆盖了默认的基本文件系统,所以我只需要这样做。

fileserver_backend:
  - gitfs
  - base

嗬!

于 2018-11-22T08:48:11.693 回答