2

这是我的 /etc/salt/master 配置:

#GitFS
gitfs_provider: pygit2
gitfs_base: DEVELOPMENT
gitfs_env_whitelist:
  - base

fileserver_backend:
  - git
gitfs_remotes:
  - ssh://git@github.com/myrepo/salt-states.git:
    - pubkey: /root/.ssh/my.pub
    - privkey: /root/.ssh/my
    - mountpoint: salt:///srv/salt/salt-states

这是我的回购目录结构:

.
|-- README.md
|-- formulas
|   `-- test
|       |-- test.sls
`-- top.sls

这是我非常基本的top.sls:

base:
  '*':
    - test

如果我尝试在我的测试节点上运行 highstate,我会得到:

root@saltmaster:/etc/salt] salt -v '*' state.highstate
Executing job with jid 1234567890
-------------------------------------------

test-minion.domain:
----------
          ID: states
    Function: no.None
      Result: False
     Comment: No Top file or external nodes data matches found.
     Started:
    Duration:
     Changes:

Summary for test-minion.domain
------------
Succeeded: 0
Failed:    1
------------
Total states run:     1
Total run time:   0.000 ms

我不确定为什么这不起作用,并希望对此提供任何帮助。我试过只应用 test.sls 来查看它是否是最重要的文件,但我得到了这个:

root@saltmaster:/etc/salt] salt -v '*' state.sls test
Executing job with jid 1234567890
-------------------------------------------

test-minion.domain:
    Data failed to compile:
----------
    No matching sls found for 'test' in env 'base'
4

2 回答 2

2

我有一个类似的问题,这是由于缓存不同步并且没有更新。如果我尝试运行:

salt-run fileserver.update

我有:

[警告] gitfs 远程 'git@github.com:mention-me/Salt.git' 存在更新锁定文件,正在跳过。如果此警告仍然存在,则更新过程可能已中断,但也可能已手动设置了锁定。删除 /var/cache/salt/master/gitfs/7d8d9790a933949777fd5a58284b8850/.git/update.lk 或运行 'salt-run cache.clear_git_lock gitfs type=update' 将允许此远程继续更新。

删除指定的缓存文件,并运行上述命令解决了问题。

于 2016-05-04T16:18:28.257 回答
1

我与 saltstack IRC 上的人们交谈,有人帮我解决了这个问题。似乎添加一个挂载点把一切都搞砸了。归功于:

12:20] ==  realname : Thomas Phipps
[12:20] ==  channels : #salt
[12:20] ==  server   : orwell.freenode.net [NL]
[12:20] ==           : is using a secure connection
[12:20] ==  account  : whytewolf
[12:20] == End of WHOIS
于 2015-12-10T20:21:27.670 回答