Echipa: Încerc să eșuez o sarcină când nu sunt îndeplinite două condiții pe un nod. ansible_facts['distribution_version']
și ansible_facts['distribuție']
.
Trec în două noduri. un nod este 20.x
ubuntu și altele este 18.x
.
vars/main.yml
os_distribution: „Ubuntu”
os_version: „20.04”
sarcina este mai jos
- nume: „Verificați versiunea de bază a sistemului de operare mapează la versiunea de distribuție așteptată {{ os_version }}”
eșuează:
msg: "Sarcina nu a reușit ca versiune neașteptată a sistemului de operare găsită: {{ ansible_facts['distribution'] }} {{ ansible_facts['distribution_version'] }} pe {{ inventory_hostname }}"
când:
- ansible_facts['distribution_version'] este versiunea(os_version, '<')
- os_distribution != ansible_facts['distribuție']
rezultat
SARCINA [validarea nodului: Versiunea de bază a sistemului de operare se mapează la versiunea de distribuție așteptată 20.04] ***
Marți, 23 noiembrie 2021 20:11:32 +0000 (0:00:17.570) 0:00:17.690 ******
săriți peste: [node1]
omitere: [node2]
rezultat așteptat: observați 18.x de mai jos, nu sunt sigur ce îmi lipsește pentru a obține asta.
fatal: [node2]: FAILED! => {"schimbat": false, "msg": "Sarcina a eșuat ca versiune neașteptată a sistemului de operare găsită: Ubuntu 18.04 pe nodul 2"}
Când scot - os_distribution != ansible_facts['distribuție']
atunci obțin rezultatul așteptat ca mai jos, dar vreau să satisfac două condiții, nu doar una.
[fatal: [node2]: A ESCUT! => {"schimbat": false, "msg": "Sarcina a eșuat ca versiune neașteptată a sistemului de operare găsită: Ubuntu 18.04 pe nodul 2 }}"}
referire la ansible_facts
FACTE pentru 20.x
10:17:59 [0;32m „distribuție”: „Ubuntu”,[0m
10:17:59 [0;32m „distribution_file_parsed”: adevărat,[0m
10:17:59 [0;32m "distribution_file_path": "/etc/os-release",[0m
10:17:59 [0;32m "distribution_file_variety": "Debian",[0m
10:17:59 [0;32m "distribution_major_version": "18",[0m
10:17:59 [0;32m "distribution_release": "bionic",[0m
10:17:59 [0;32m "distribution_version": "18.04",[0m
FACTE pentru 20.x
10:23:43 [0;32m „distribuție”: „Ubuntu”,[0m
10:23:43 [0;32m „distribution_file_parsed”: adevărat,[0m
10:23:43 [0;32m "distribution_file_path": "/etc/os-release",[0m
10:23:43 [0;32m "distribution_file_variety": "Debian",[0m
10:23:43 [0;32m "distribution_major_version": "20",[0m
10:23:43 [0;32m "distribution_release": "focal",[0m
10:23:43 [0;32m "distribution_version": "20.04",[0m