本文介绍了如何比较 salt sls 文件中的版本字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
saltstack 是否有与 puppets versioncmp() 等效的函数?或者,有没有办法获取 distutils.version 或 Packaging.version.parse 方法(如 比较 Python 中的版本字符串) 在 jinja+yaml 呈现的 sls 文件中可用吗?
Does saltstack have an equivalent to puppets versioncmp() function? Or alternatively, is there a way to get the distutils.version or packaging.version.parse methods (as mentioned on Compare version strings in Python) available in a jinja+yaml rendered sls file?
推荐答案
你可以使用pkg.version_cmp
模块:
# salt-call pkg.version_cmp '1.0.2' '1.1.1'
local:
-1
# salt-call pkg.version_cmp '0.2.4.1-0ubuntu1' '0.2.4-0ubuntu1'
local:
1
在 jinja 中,您可以以类似于以下方式使用它:
Inside jinja you can use it in a way similar to:
{% if salt['pkg.version_cmp']('1.1.0','1.0.5') > 0 %}
....
{% endif %}
这篇关于如何比较 salt sls 文件中的版本字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!