【问题标题】:SaltStack gitfs issueSaltStack gitfs 问题
【发布时间】:2016-01-14 13:54:59
【问题描述】:

我正在使用 docker 容器(bbinet/salt-master 和 bbinet/salt-minion)学习 saltstack,但无法运行 gitfs。我需要稍后在生产中运行一些容器,所以我试图简单地启动一个 rabbitmq 安装,但是,Salt 似乎在我的主配置中没有看到 git remotes:

# /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 不会改变配置中指定的任何内容。日志告诉我读取了配置,但是,这并没有改变任何事情(即使仅包含 auto_accept: False 行)。
salt-master 版本 2015.5.3

【问题讨论】:

  • /var/log/salt/master 中有什么有用的输出吗?另请记住,您通常需要额外的 python 包才能使 gitfs 工作。
  • @helmbert 不,没什么用。当我尝试dulwich并尝试fileserver.file_list命令时,salt明确提到dulwich版本太低,但是gitpython已经安装了

标签: salt-stack


【解决方案1】:

我知道这很晚,但希望它有所帮助。

在进行调试时,我想一个快速的指标,你有它实际使用配置是查看 auto_accept 是否实际工作。在网络上添加一些 salt minions,并将它们指向这个 salt master。看看他们是否真的连接。如果它不能立即起作用,请稍等片刻。假设网络设置正确并且奴才知道在哪里可以找到他们的主人,请执行以下操作。如果不满足此假设,请尝试手动方法。

然后从主呼叫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

还值得一提的是,gitpython 根据系统安装的 python 版本很挑剔,所以也要仔细检查一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 2015-11-13
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多