在不运行命令的情况下,我如何检查命令将针对哪些小黄人



考虑以下命令行:salt -C 'G@some:grain:value and G@other:grain:value' state.highstate

我想检查一下瞄准线是否会击中我预期的小黄人。即使在测试模式下,Highstate也相当缓慢。显而易见的替代方案是运行test.ping,但即使这样,如果一些小黄人宕机,也可能需要很长时间。Salt必须有某种方法来获取这些信息(否则,当所有目标小黄人返回时,它不知道该停止(,但我自己也不知道如何获取。

我们可以使用Salt runner管理模块来获取小黄人的列表。

由于我们的目标是小黄人的谷物,主人必须发送命令给小黄人,以知道他们中的哪一个匹配。

使用up函数,例如:

salt-run manage.up tgt="G@somegrain:value and G@othergrain:value" tgt_type=compound

还有一些功能不会向仆从发送命令,因此它们的响应速度会更快。尽管它们只允许通过IP地址进行过滤。一个这样的例子是CCD_ 3。

列出所有被认为是上升的小黄人:

salt-run manage.alived

显然有一个选项可以做到这一点,但手册页中没有记录:salt $target --preview-target将向您显示预期与$target匹配的小黄人,而不会对其运行任何操作或以其他方式阻止。与目标模式选项(例如-N、-g或-C(配合使用也很好。

感谢这个答案启发了我。

最新更新