我正在configuration由SaltStackpipe理的一组40台服务器。 目前我正在testing只有一个小时,我已经成功添加到主人。 为了简单起见,我使用了相应机器上的Ubuntu 14.04.1软件包仓库中最新版本的salt和salt-minion。
我有什么似乎是一个理智的configuration和目录结构,但是每当我尝试运行salt '*' state.highstate ,我得到一个错误,顶部文件不匹配的节点。 如果我尝试手动运行一个salt '*' state.sls worker.users的状态文件,它没有这样的文件存在的错误。 目录结构和文件如下。
任何想法,为什么这是行不通的?
root@salt-master:/srv/salt# tree /srv/salt /srv/salt ├── worker │ └── users.sls └── top.sls 1 directory, 4 files root@master:/srv/salt# salt '*' state.highstate worker-2: ---------- State: - no Name: states Function: None Result: False Comment: No Top file or external nodes data matches found Changes: Summary ------------ Succeeded: 0 Failed: 1 ------------ Total: 1
相关文件的内容:
root@master:/srv/salt# cat top.sls base: '*': - worker.users root@master:/srv/salt# cat worker/users.sls worker: user.present: - fullname: Service Account - shell: /bin/bash - home: /home/worker admin: user.present: - fullname: Search Admin Account - shell: /bin/bash - home: /home/admin
文件根目录在master中定义如下,我已经重新启动了所有的机器:
file_roots: base: - /srv/salt
一般来说,在debuggingstate.highstate时 ,应该尝试:
salt (来自主人)
salt-call (来自奴隶)
salt '*' test.ping – 确保salt '*' test.ping对ping进行响应(这确保了小兵服务正在运行) dpkg -l salt-minion上的dpkg -l salt-master minion和dpkg -l salt-master上的dpkg -l salt-master master)。 rm -rm /var/cache/salt/minion/files/base/*上的cachingrm -rm /var/cache/salt/minion/files/base/* salt-call grains.items salt-call -l debug state.highstate – 检查是否可以使用“debugging”模式捕获有关错误的更多信息 /var/log/salt/minion 。