web-dev-qa-db-fra.com

Comment comparer les numéros de version du noyau (ou autre) dans Ansible

Pour un rôle que je développe, je dois vérifier que la version du noyau est supérieure à une version particulière.

J'ai trouvé la valeur ansible_kernel, mais existe-t-il un moyen facile de comparer cela à d'autres versions? Je pensais que je pourrais exploser manuellement la chaîne de version sur le '.'s & comparer les chiffres, mais je ne trouve même pas de filtre convivial pour exploser la chaîne de version, donc je suis à perte.

Merci d'avance.

T

19
TobyG

Il y a un test pour cela:

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

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

Pour imprimer l'adresse IP de l'hôte si la version du noyau est inférieure à

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','<')

**

Dans 2.5 version_compare a été renommé en version

**

2
Fuji Komalan