新版本的SaltStack有一個很是好的特性,可使用git做爲文件服務的源,這樣一來,在開發環境中能夠很方便的把修改同步到測試環境,同時在生產環境中也能夠對sls這些比較重要的配置文件進行方便自然的版本管理git
參照官方教程,在master配置文件中配置了github
fileserver_backend:服務器
- gitssh
還有gitlab
gitfs_remotes:測試
- https://github.com/saltstack-formulas/salt-formula.gitfetch
若是想使用git源中的某個子目錄做爲file_backend目錄的話還須要配置這個:spa
gitfs_root: backend_subdir日誌
固然,git倉庫的地址改爲了公司內部搭的內部gitlab
orm
重啓salt-masster後發現沒生效
檢查/var/log/salt/master日誌提示以下:
[salt.loaded.int.fileserver.gitfs ][ERROR ] Git fileserver backend is enabled in configuration but could not be loaded, is GitPython installed?
既然找不到GitPython,由於服務器能連公網因此果斷用yum安裝
yum install GitPython
我這會兒用的是 2014.1.4 版本的 salt-stack, 官方文檔中提到最好用 0.3.2.RC1,我用yum安裝提示的版本是 GitPython-0.3.2-0.6.RC1.el6.noarch.rpm 嗯...EPEL萬歲..
高興的重啓salt-master....仍是不行.....
再看日誌,提示信息變了
[salt.loaded.int.fileserver.gitfs ][WARNING ] GitPython exception caught while fetching: len([]) != len(['Host key verification failed.', ''])
忽然想起以前剛用git的時候,貌似有過相似的問題.由於ssh要先創建信任關係,因而嘗試下面的命令
ssh -T git@githost.com
這裏的git倉庫地址固然也要用你本身的倉庫地址
而後根據提示輸入個yes
再重啓salt-master
問題解決!
能夠在 /var/cache/salt/master 下面看到名爲 gitfs 的目錄啦