问题标签 [salt-stack]

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.

0 投票
2 回答
624 浏览

salt-stack - 独立 Salt minion 中的静默故障

我正在启动一个使用 Salt Stack 来协调配置的项目。但它现在不工作了——日志文件(在minion上,在/var/log/salt/minion)没有显示任何错误,但是minion没有按照我的要求做。

基本上,我正在构建一个包含几个顶级文件和至少两个 minion 配置的 SaltStack。特别是,我正在调试一个我称之为引导程序的奴才(因为它应该在奴才上引导一个盐主):

据我所知,Salt 很好地加载了顶级文件,并将它们解析为有效对象,但 Salt 没有运行任何命令来响应这些对象。事实上,minion 日志文件说:

一切看起来都不错,只是它立即跳转到:

在整个日志文件的其余部分中,base 再也没有被提及。并且与 base 相关的命令/状态没有运行。我确实看到了 edit.vim、srv.dns.unbound 等的日志条目。但它们都遵循相同的模式:解析并且什么都不做。

我究竟做错了什么?我有一个模糊的印象,它与我的 minion 配置中有多个 file_roots 有关,但在我知道架构应该是什么之前,我宁愿不进行架构更改。(我之前已经尝试过使用Salt,遇到“this”静默错误,重新开始,现在又遇到了)

0 投票
0 回答
412 浏览

python - Saltstack 自定义执行模块不适用于远程 git 上的 file_roots

我创建了一个自定义执行模块。如果 file_roots 在本地并且模块放置在 /srv/salt/_modules 中,Salt 会看到它。如果我将 file_roots 重新定义为远程 git(将 fileserver_backend 设置为 git),并将此模块放在 file_roots/_modules 下。我验证了新模块在 /var/cache/salt/master/gitfs/hash/_modules 中的 salt master 上。这意味着 salt 实际上将 git 复制到本地缓存。但无论出于何种原因,盐都不会加载它。

我运行了 saltutil.sync_all 并且它没有显示任何模块。

有没有人可以帮助我验证这一点?我在想这可能是一个错误。

0 投票
1 回答
3761 浏览

python - Salt 的 mine.get 命令适用于 CLI,但不适用于 jinja 模板

我正在使用 SaltStack,并且有与谷物匹配的小兵的支柱文件。

当我在 minions CLI 上运行 mine.get 命令时,它工作正常:

salt-call mine.get 'role:production-server' network.ip_addrs grain 返回主机及其 IP 的列表。

但是,在同一个 minion 上的 jinja 模板中使用相同的命令会导致错误:

{% for host, ip in salt['mine.get']('role:production-server', 'network.ip_addrs', expr_form='grain').items() %}

我不知道是什么原因造成的,因为它在命令行中运行良好,这似乎排除了与盐大师等通信的问题。

0 投票
2 回答
506 浏览

vagrant - 使用带盐状态的 ssh 代理转发

所以我的流浪文件中有以下内容:

以及以下盐态:

但是,执行此盐状态时出现公钥错误。

烦人的事情是,如果我git+ssh://git@bitbucket.org/xxx/repo.git从我的实例中手动执行 git clone,一切正常。有任何想法吗?

0 投票
4 回答
4581 浏览

salt-stack - 在盐状态之间传递变量

在 Saltstack 中,我有以下用例:

有一个状态 redis.sls 可以被其他状态包含。redis.sls 的结果应该配置不同,具体取决于包含 redis.sls 的状态。

例如:

但是x在 *state_a* 和 *state_b* 中不被识别

我还尝试使用以下内容设置支柱值:

但这也没有用。

还有其他想法吗?

0 投票
2 回答
751 浏览

automation - 如何在 top.sls 文件的 saltstack 支柱函数声明中使用星号 (*)?

我是 saltstack 自动化的新手,想知道是否有办法在 saltstack 支柱函数声明中使用星号 (*)。让我向你解释所有细节。

我对 prod 环境的支柱根是

我在 /srv/pillar 目录中有 top.sls 文件,文件内容如下所示。

我将在 /srv/pillar/user/ 目录中添加 *.sls 文件。但是,请让我知道是否有这样的方法

因此,我不需要在 top.sls 中添加相应的 sls 条目。

0 投票
2 回答
1735 浏览

php - 如何使用 SaltStack 启用 php 扩展

我正在使用 SaltStack 来配置我的 Vagrant VM。我已经很好地安装了 php,但我需要启用 intl 扩展。我很确定它已安装,但我不知道如何获得盐来为我启用它。有没有办法让它创建一个 php.ini 或类似的东西?

这是我的 php55.sls 文件:

和我的 top.sls:

0 投票
2 回答
2949 浏览

salt-stack - 如何检查盐文件服务器中的文件是否存在

我想自动为用户复制 ssh 密钥,有些用户没有密钥。

我现在拥有的是:

当 salt:// 文件服务器上不存在用户的密钥时,我收到错误消息。是否有一些功能可以检查 salt:// 文件服务器中是否存在文件?

0 投票
1 回答
345 浏览

python - 机架空间/云提供商的 Salt Stack 配置

我正在尝试为云提供商配置 Salt Stack 2014.1.0……特别是为 Rackspace。我发现了一篇非常好的文章http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html,它比云提供商的 Salt Stack 站点更新(Rackspace one on SaltStack site pre-openstack )。但即使是这个外部指南也从 2013 年开始就已经过时了。

http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html和 Salt 2014.1.0 之后,我需要手动创建 /etc/salt/cloud.providers.d/ 因为它不存在. 但是如何使盐指向它/使用它?我在 /etc/cloud/cloud.cfg 中没有看到指向它的指令。

0 投票
3 回答
22293 浏览

salt-stack - 检查文件是否存在并创建符号链接

我想做这样的事情:

如果文件 A 存在或没有符号链接 B,我想创建一个符号链接 B -> A。

现在我有:

但这很糟糕,它检查的不是我想要的东西。我怎样才能在盐中实现这个简单的东西?