【发布时间】:2021-04-02 06:15:58
【问题描述】:
我正在尝试找到一种方法来去除与 ansible_kernel 变量相关的字符。截至目前,它输出如下内容:
3.10.0-1127.18.2.el7.x86_64
我只需要前 4 个字符 (3.10),因为我正在寻找为匹配特定值的内核版本编写条件任务。
我尝试按照此处的示例进行操作,但是我的输出只是一个 hello world:
How to compare kernel (or other) version numbers in Ansible
这是我的简单代码:
- name: check kernel
hosts: all
gather_facts: yes
vars:
kernel_version: "{{ansible_kernel}}"
tasks:
- debug:
var: kernel_version
- set_fact: release="{{ kernel_version }}"
- debug:
var: release
- debug:
msg:"Version is {{'release'[:5]}}" //also tried with release.stdout but I get an error
游戏输出:
ASK [debug] *******************************************************************
ok: [server] => {
"kernel_version": "3.10.0-1127.18.2.el7.x86_64"
}
TASK [set_fact] ****************************************************************
ok: [server]
TASK [debug] *******************************************************************
ok: [server] => {
"release": "3.10.0-1127.18.2.el7.x86_64"
}
TASK [debug] *******************************************************************
ok: [server] => {
"msg": "Hello world!"
【问题讨论】:
标签: variables ansible yaml conditional-statements