Saltstack:如何在top.sls "Package less than version ..."中定义



我有以下问题:

我使用盐堆栈来管理我的小黄人,它们运行在不同的数据中心。但软件包存储库并不一致:并非所有软件包都有最新版本的salt。有了Salt stack,我当然可以解决这个问题,所以我在顶部添加了.sls:

'not G@saltversion:3003.1':  
- fixes.saltversion

但我不喜欢那里。我已经尝试过几种变体,但无法选择特定粒度小于特定版本的小黄人。类似于这种情况:选择所有版本早于3003.1的小黄人来对其应用状态,这将直接从不同的回购获取包。

如何选择";小于";一粒谷物

我已经在谷歌上搜索过了,没有找到任何与我的案例相匹配的东西。这些文件对我的案子也没有帮助。我读过关于自定义匹配器的文章:但我真的需要为此实现一个自定义匹配器吗?

提前感谢大家的帮助

查看以下晶粒:saltversioninfo。这个颗粒是一个列表:[ majorversion, patchversion ]

你可以瞄准释放晚于氟(2019.2.0(的小黄人,如下所示:

'P@saltversioninfo:0:b(?:3[0-9]{2}[0-2])b or ( G@saltversioninfo:0:3003 and G@saltversioninfo:1:0 ):
- match: compound
- fixes.saltversion

这场复合比赛将以小黄人为目标,释放量在3000到3003.0之间。

这有点静态,您需要在发布新版本后对此进行修改。但我希望这对你有帮助。

编辑:

上面的匹配者是未经测试的,我没有老版本的小黄人。您应该在使用以下salt命令之前测试匹配器:

salt -C 'P@saltversioninfo:0:b(?:3[0-9]{2}[0-2])b or ( G@saltversioninfo:0:3003 and G@saltversioninfo:1:0 )' test.ping

相关内容

  • 没有找到相关文章

最新更新