На самом деле надеюсь, что кто-то может помочь, у меня есть эта задача, которая проверяет, существует ли строка XYZ в журнале
если она не существует, она должна завершиться ошибкой (ignore_errors: yes), затем пнуть другая задача, однако, даже когда она терпит неудачу, она пропускает другую задачу
- name: check if file is empty
lineinfile:
path: /path/to/log.log
line: "XYZ"
state: present
check_mode: yes
register: exists
failed_when: exists is changed
ignore_errors: yes
- name: send mail
when: exists is not changed
mail:
from: mail@123.com
subject: xyz
body: No xyz found
to:
- John Doe <john.doe@123.com>
cc: Marie Smith <marie.smit@123.com>
- name: read files
when: exists is changed
do abc...
проблема в том, что когда файл пуст и не имеет XYZ, он все равно не работает, но пропускает отправку почты и продолжает задачу чтения файлов
TASK [check if file is empty] ***********************************************************************************************************************************************************************************
fatal: [server123]: FAILED! => {"backup": "", "changed": true, "failed_when_result": true, "msg": "line added"}
...ignoring
TASK [send mail] ************************************************************************************************************************************************************************************************
skipping: [server123]
TASK [read files] ***********************************************************************************************************************************************************************************************
changed: [server123]