web-dev-qa-db-ja.com

Ansibleでカーネル(または他の)バージョン番号を比較する方法

私が開発している役割については、カーネルのバージョンが特定のバージョンよりも大きいことを確認する必要があります。

Ansible_kernel値を見つけましたが、これを他のバージョンと比較する簡単な方法はありますか? '。'のバージョン文字列を手動で展開して数字を比較することも考えられましたが、バージョン文字列を展開するためのわかりやすいフィルターが見つからないため、迷ってしまいました。

前もって感謝します。

T

14
TobyG

test があります:

{{ ansible_distribution_version | version_compare('12.04', '>=') }}

{{ sample_version_var | version_compare('1.0', operator='lt', strict=True) }}
18

カーネルバージョンが3未満の場合にホストIPアドレスを出力するには

Ansible Version : 2.0.0.2

---
- hosts: all
  vars:
   kernel_version: "{{ ansible_kernel }}"
  tasks:
   - name: 'kernel version from facts'
     debug:
      msg: '{{ansible_all_ipv4_addresses}} {{ansible_kernel}}'
     when: ansible_kernel |  version_compare('3','<')

**

2.5では、version_compareはversionに名前が変更されました

**

2
Fuji Komalan