本文介绍了如何比较 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 文件中的版本字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 10:57