问题标签 [gitfs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - “找不到顶级文件或外部节点数据匹配”使用 SaltStack 设置 gitfs
我已经在 nfs 服务器上设置了 git。salt master 在启动时自动挂载包含 git 存储库的文件夹。我已将 .sls 文件、模板和脚本复制到 git 目录并将它们添加到 git。
根据此处的指南,我已将以下内容添加到主配置文件中:
我对将 file_roots 设置为什么有疑问,但都尝试过
和
结果相同:“未找到顶级文件或外部节点数据匹配”
SaltStack 版本为 0.17.4,操作系统为 SLES 11.2。
有谁知道我哪里出错了?
salt-stack - 在 highstate 上无法识别 Gitfs 远程状态
我有一个名为的远程状态logstash_forwarder
,位于https://github.com/saltstack-formulas/logstash_forwarder-formula.git
. 我使用git
as fileserver_backend
。
当我运行时state.highstate
,它找不到状态。
当我运行时state.sls logstash_forwarder
,它可以工作。
为什么它不起作用state.highstate
?
/etc/salt/minion:
/srv/salt/base/top.sls:
提前谢谢,祝你有美好的一天:)
salt-stack - Saltstack gitfs - 如何检索 git commit hash?
Gitfs (dulwich) 在我们的 saltstack 中配置为文件服务器后端,只有一个 gitfs_remotes。当我在 master 上运行 salt 时,我希望能够从 Gitfs 中检索当前的 git commit 哈希,这样我就可以记录哪个 git commit 在什么时候在 minion 上运行。salt.loaded.int.pillar.git_pillar 似乎有这些信息,但不确定如何从我的 salt python 脚本中获取它。感谢你的帮助!
salt-stack - 使用 GitFS 的 Saltstack“格式错误的 topfile”
我正在尝试让 Saltstack 与Debian Squeeze上的 GitFS 集成一起工作。Salt master 和 minions 正在运行,GitFS 通过 GitPython ( pip install 'GitPython==0.3.2.RC1'
) 运行。
问题:Malformed topfile (state declarations not formed as a list)
通过 . 请求顶级文件时,我收到错误消息salt-call -l debug state.show_top
。但是,如果我在本地克隆存储库并使用fileserver_backend: roots
它可以正常工作。
一些调试代码:
salt-stack - SaltStack 和 GitFS - 找不到顶级文件或外部节点数据匹配
这是我的 /etc/salt/master 配置:
这是我的回购目录结构:
这是我非常基本的top.sls:
如果我尝试在我的测试节点上运行 highstate,我会得到:
我不确定为什么这不起作用,并希望对此提供任何帮助。我试过只应用 test.sls 来查看它是否是最重要的文件,但我得到了这个:
git - salt中的gitfs_remotes,如何在sls文件中正确引用?文件已提供但无法参考
我遇到了盐文档无法帮助我解决的难题。我正在尝试从 git repo 获取文件,而不是在 sls 中管理文件。我已经通过以下方式配置了主控:
我指定了一个遥控器:
在我的 sls 中,我有以下内容,并且只有条目:
我为开发环境执行 highstate:
现在,无论我在源中放入什么,路径明智,它永远不会找到我现在丢失的文件....如果我将文件添加到 salt fs 的根目录中,事情会按预期工作。但是对于 gitfs,它只是不起作用。如果我从 git remote config 中删除挂载点并在没有环境的情况下运行 highstate,事情会按预期工作,但是一旦我引入环境,它就找不到文件
当我运行 salt-run fileserver.file_list 时,我看到列出的文件:
但是,当我运行它时我无法引用它:
先感谢您
salt-stack - 无法使用 gitfs 执行嵌入式 Saltstack 状态
我正在使用 SaltStack 的“ gitfs ”功能来执行状态文件。状态文件使用“包含”功能嵌入存储库中的其他两个状态文件。
我的存储库具有以下层次结构:
我的主文件如下:
salt/dir1/dir3/init.sls 包含以下内容:
重新启动 salt-master 然后执行 salt-run fileserver.file_list saltenv=base backend=git 会显示存储库中的所有文件。但是在运行 salt '' state.apply salt.dir1.dir3 -l debug 时出现以下错误:
我的系统配置如下:
重新启动 salt-master 时,存储库会缓存到“/var/cache/salt/master/gitfs/refs/base/salt”路径中。但我发现“dir2/dir5/init/sls”而不是“dir2/dir5/init.sls”
这个问题的原因可能是什么?
python - 在 RHEL7.2 上正确导入 python-pygit2(用于 SaltStack gitfs)
我正在尝试使用 pygit2 方法为 SaltStack 设置 gitfs。我已经在我的机器上安装了 pygit2 和 libgit2:
我还安装了 python-devel 包。这就是 Python 2.7 的全部内容。
每当我尝试导入 pygit2 包以测试它是否安装正确时,我都会收到一堆 cffi 警告和错误。以这个堆栈跟踪结束:
这是我尝试过的事情的清单:
- 卸载/重新安装(使用 yum)
- 通过二进制文件安装 libgit2,然后尝试使用 pip 安装 pygit2(由于 GCC 编译器错误也失败)。
- 验证我安装了 GCC 编译器
- 尝试将/usr/lib64/python2.7/site-packages 中的cffi文件移动到 [..]pygit2/ pycache /
- 对其他问题进行了一些搜索 - 我找到了这个链接查看 JDavid 的评论,大约有 2 个解决方案
任何帮助表示赞赏
vagrant - 在 vagrant box 中使用 gitfs 为 salt 后端提供 ssh 凭据
我使用 vagrant 来测试我的 salt 配置。在一个盒子上我有一个流浪的盐大师和盐奴才,在另一个盒子上我有一个盐奴才。
我正在尝试切换到使用 gitfs 从我的私人仓库中获取后端。
这是我的salt.master_config
:
其他 gitfs 遥控器过去一直有效,但新的遥控器不接受 ssh 密钥。跑步时sudo salt '*' state.apply
我得到:
我还尝试使用vagrantup prosvisioning 文档https://www.vagrantup.com/docs/provisioning/salt.html中的主选项,并将master_pub和master_key添加到我的:Vagrantfile
但这是为了 ssh 到 vagrant box,而不是实际用于 gitfs。
您如何为 vagrant 配置文件提供 ssh 凭据?
salt-stack - 如何让 saltstack 从 gitfs 中的多个分支检索状态
我有几台由 Saltstack 管理的计算机,用于生产和开发。
这些 PC 是我们的内部服务器,使用 Saltstack 的目的是 (1) 备份设置,以便在出现故障时快速重新应用它们 (2) 快速设置新 PC 以防出现故障。所有情况都不会经常发生,服务器总数少于 10 台。
Salt 的稳定状态存储在专用 git 存储库的 master 分支的 gitfs 中。
有时我需要添加新功能并开始开发新状态。目前我直接提交给 master 并且我的提交经常因为错误而破坏现有的配置。
我想在单独的 git 分支中提交我正在进行的工作并使用类似的东西
$ sudo salt minion state.apply my-new-state saltenv=feature/branch
但是,我收到有关缺少环境的错误:
我的配置/etc/salt/master
:
我在 serverfault.com 上看到过类似的问题,尝试了使用 dynamic 提出的解决方案{{saltenv}}
。它没有帮助