Сегодня я учусь Ansible в лабораториях, и я застрял с пониманием того, что связано с обработкой ошибок. Это моя пьеса:
---
- hosts: db
become: yes
vars:
web_package: http
db_package: mariadb-server
db_service: mariadb
tasks:
- name: check {{ web_package }} installation status
command: yum list installed "{{ web_package }}"
register: command_result
ignore_errors: yes
- name: Install {{web_package}} package
yum:
name: "{{web_package}}"
state: latest
ignore_errors: yes
- name: Install {{db_package}} package
yum:
name: "{{db_package}}"
state: latest
when: "'Error' in command_result.stdout"
Я не понимаю, почему при объяснении лабораторных работ финальное задание пропускается, даже если при выполнении условия не выполняется установка пакета, обратите внимание, что Первая и вторая задачи содержат слово «Ошибка» в выводе выполнения команды. это мой первый вопрос
Второй вопрос: что если мы добавим changed_when: "command_result.rc == 1"
как узнать, есть ли код возврата, есть ли какие-либо указания на истинные или ложные результаты выполнения команды? как узнать точный код возврата? есть ли норма?
Спасибо всем за помощь!