ansible - 使用 jinja2 比较版本号

标签 ansible jinja2 salt-stack

我正在使用 jinja2 模板来安装/升级软件包。

逻辑是为当前安装的版本设置一个变量并将其与可用版本进行比较。它工作得很好,但是一旦我们进入 10.x,比较就停止工作了。

是否可以对变量进行强制转换,使其能够正确识别 10.9.8 大于 9.8.7?

谢谢

current_version=['9.8.7']

{% if current_version < '10.9.8' %}

最佳答案

有一个特殊测试version_compare :

{% if current_version | version_compare('10.9.8', '<') %}

current_version 应该是字符串(它是示例中的列表)。

关于ansible - 使用 jinja2 比较版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46324330/

相关文章:

jenkins - 无法通过 ssh 连接到主机 : Host key verification failed

ansible - 替换 block 中的正则表达式之前和之后 - 插入符未按预期工作

python - 如何为Jinja Undefined错误创建自定义终结点?

Python Jinja2 宏空白问题

jinja2 过滤器中的正则表达式匹配(用于 saltstack)

所有主机的 Ansible 全局增量变量

ansible - 读取使用ansible的tempfile模块创建的目录名称

python - 如何将 "key = value;"对的字符串转换为 ansible 中的字典?

security - 为什么这个将 RSA 公共(public)指数设置为 1 的提交有问题?

centos - Salt pkg.installed 未正确检查安装