我正在使用docker容器(bbinet / salt-master和bbinet / salt-minion)学习saltstack,但无法运行gitfs。我需要稍后在生产中运行一些容器,所以我试图简单地启动一个rabbitmq安装,但是,Salt似乎没有在我的主配置中看到git遥控器:
# /etc/salt/master (full, there's nothing more)
auto_accept: True
gitfs_provider: gitpython
fileserver_backend:
- git
- roots
gitfs_remotes:
- git://github.com/saltstack-formulas/docker-formula.git
# state being applied (full, the AMQP container is written in pillar)
include:
- docker.containers
# result of state.apply call:
amqp-minion-1:
- Specified SLS docker.containers in saltenv base is not available on the salt master or through a configured fileserver
salt-run fileserver.file_list backend=git
的输出完全是空的,所以,据我所知,我做错了指定gitfs遥控器。我可以做错什么以及我应该使用哪些实用程序来调试这种情况?
更新:使用新安装的pygit2观察到相同的行为,我认为这只是我想念的东西
更新#2:似乎完全忽略了配置,salt-call --local config.get gitfs_remotes什么都不返回,其他选项如auto_accept不会改变config中指定的内容。 Log告诉我,配置被读取,但是,这不会改变一件事(即使只包含auto_accept: False
行)。
salt-master版本2015.5.3
答案 0 :(得分:2)
我知道这很晚,但希望它有所帮助。
在进行调试时,我认为你实际使用配置的快速指示是查看auto_accept是否真的有效。在网络上添加一些盐爪子,并将它们指向这个盐主人。看看他们是否实际连接。如果它没有立即起作用,请给它一分钟。假设网络设置正确且小兵知道在哪里找到他们的主人,请执行以下操作。如果不满足此假设,请尝试手动方法。
然后从主呼叫salt '*' salt-key -L
。您还可以tail /var/log/salt/master
查看加载配置的任何明显失败。如果是这种情况,它可能会警告你。在启动进程/服务之前,请确保配置位于/ etc / salt / master中,具体取决于您启动salt的方式。
如果您的salt master位于容器中,您也可以运行该命令 泊坞日志
还要考虑在主配置中包含rabbitmq salt公式,如下所示。
gitfs_remotes:
- git://github.com/saltstack-formulas/docker-formula.git
- https://github.com/saltstack-formulas/rabbitmq-formula
我尝试了你的salt命令并收到了以下输出:
[]# salt-run fileserver.file_list backend=git
- FORMULA
- LICENSE
- README.rst
- pillar.example
- rabbitmq/config.sls
- rabbitmq/config_bindings.sls
- rabbitmq/config_exchange.sls
- rabbitmq/config_queue.sls
- rabbitmq/init.sls
- rabbitmq/install.sls
- rabbitmq/latest.sls
- rabbitmq/package-map.jinja
- rabbitmq/rabbit-management.sls
使用类似的设置。我没有必要指定gitfs_provider才能使它工作。在某些背景下,我执行了yum install -y python-pip git
,然后执行了pip install GitPython
。
值得一提的是,根据系统安装的python版本,gitpython很挑剔,所以也要仔细检查一下。