【问题标题】:How to compare version strings in salt sls files如何比较 salt sls 文件中的版本字符串
【发布时间】:2018-01-23 21:48:54
【问题描述】:

saltstack 是否有等效于 puppets versioncmp() 函数?或者,有没有办法在 jinja+yaml 呈现的 sls 文件中获取 distutils.version 或 Packaging.version.parse 方法(如 Compare version strings in Python 所述)?

【问题讨论】:

    标签: salt-stack


    【解决方案1】:

    你可以使用模块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 中,您可以通过以下方式使用它:

    {% if salt['pkg.version_cmp']('1.1.0','1.0.5') > 0 %}
      ....
    {% endif %}
    

    【讨论】:

    • 有关version_cmp 函数的一些文档,请参见here。请注意,使用的确切模块会有所不同(请参阅here
    猜你喜欢
    • 2012-04-29
    • 2021-11-21
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多