新版本的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 的目录啦