使用 Python 的 Minion 状态的 SaltStack 差异

Posted

技术标签:

【中文标题】使用 Python 的 Minion 状态的 SaltStack 差异【英文标题】:SaltStack diff of minion state using Python 【发布时间】:2016-05-26 06:51:53 【问题描述】:

我正在 python 中为 SaltStack 编写自定义包装器,我无法从 Salt 文档中找到任何可以获取小兵状态差异的方法。

我的意思是当我们从 CLI 运行状态时,它会以不同的颜色显示差异,我试图只显示差异,而不是整体。

CLI 命令:

salt '*' state.highstate test=True

我从 CLI 发现可以使用 --state-verbose=False,有没有办法在 Python 中使用相同的标志?

【问题讨论】:

【参考方案1】:

您是否正在查找更改历史并希望将它们存储在数据库中?

匹配页面是这样的:https://docs.saltstack.com/en/latest/topics/jobs/job_cache.html

Salt Master 维护所有作业执行的作业缓存,可以通过作业运行器进行查询。此作业缓存称为默认作业缓存。

AFAIK 没有简单的方法来获得一个漂亮的 GUI,它可以向您显示上次所做的更改。

【讨论】:

我希望看到运行后会发生的变化。 salt '' state.highstate test=False 我可以像 salt '' state.highstate 一样运行test=True --state-verbose=False 我可以使用 python 子进程模块,但是有没有办法使用 Salt Python Api 复制上述命令?【参考方案2】:

使用 python 客户端,您只需将“test=true”作为 kwarg 添加到 localclient.cmd()。

https://docs.saltstack.com/en/2015.8/ref/clients/index.html#salt-s-client-interfaces

这能解决问题吗?如果你需要一个例子,我一拿到我的笔记本电脑就会添加一个。

【讨论】:

以上是关于使用 Python 的 Minion 状态的 SaltStack 差异的主要内容,如果未能解决你的问题,请参考以下文章

saltstack

SaltStack进阶

SaltStack State状态文件配置实例

salt stack安装与使用

模拟退火算法(SA)简介及Python实现

模拟退火算法(SA)简介及Python实现