Команда: Я пытаюсь провалить задачу, когда на узле не выполняются два условия. ansible_facts['версия_дистрибутива']
и ansible_facts['распределение']
.
Я прохожу через два узла. один узел 20.х
убунту и прочее 18.х
.
Варс/main.yml
os_distribution: "Убунту"
ОС_версия: "20.04"
задача ниже
- name: "Проверить сопоставление базовой версии ОС с ожидаемой версией дистрибутива {{ os_version }}"
потерпеть поражение:
msg: "Задача не выполнена, так как обнаружена непредвиденная версия ОС: {{ ansible_facts['distribution'] }} {{ ansible_facts['distribution_version'] }} на {{ inventory_hostname }}"
когда:
- ansible_facts['distribution_version'] — это версия (os_version, '<')
- os_distribution != ansible_facts['distribution']
результат
ЗАДАЧА [node-validation : Проверить сопоставление базовой версии ОС с ожидаемой версией дистрибутива 20.04] ***
Вторник, 23 ноября 2021 г., 20:11:32 +0000 (0:00:17.570) 0:00:17.690 ******
пропуск: [узел1]
пропуск: [узел2]
ожидаемый результат: наблюдайте за 18.x ниже, не уверен, что мне не хватает, чтобы получить это.
фатальный: [узел2]: FAILED! => {"changed": false, "msg": "Задача не выполнена, так как обнаружена непредвиденная версия ОС: Ubuntu 18.04 на узле 2"}
Когда я удаляю - os_distribution != ansible_facts['distribution']
то я получаю ожидаемый результат, как показано ниже, но я хочу удовлетворить два условия, а не только одно.
[фатальный: [узел2]: НЕУДАЧА! => {"changed": false, "msg": "Задача не выполнена, так как обнаружена непредвиденная версия ОС: Ubuntu 18.04 на узле 2 }}"}
ссылка на ansible_facts
ФАКТЫ для 20.x
10:17:59 [0;32m "раздача": "Ubuntu",[0m
10:17:59 [0;32m "distribution_file_parsed": правда,[0m
10:17:59 [0;32m "путь_к_файлу_дистрибутива": "/etc/os-release",[0m
10:17:59 [0;32m "разновидность_файла_дистрибутива": "Debian",[0m
10:17:59 [0;32m "основная_версия_дистрибутива": "18",[0m
10:17:59 [0;32m "distribution_release": "бионический",[0m
10:17:59 [0;32 м "версия_дистрибутива": "18.04",[0 м
ФАКТЫ для 20.x
10:23:43 [0;32m "раздача": "Ubuntu",[0m
10:23:43 [0;32m "distribution_file_parsed": правда,[0m
10:23:43 [0;32m "путь_к_файлу_дистрибутива": "/etc/os-release",[0m
10:23:43 [0;32m "разновидность_файла_дистрибутива": "Debian",[0m
10:23:43 [0;32m "основная_версия_дистрибутива": "20",[0m
10:23:43 [0;32m "distribution_release": "фокус",[0m
10:23:43 [0;32m "версия_дистрибутива": "20.04",[0m