For example, the play below
- hosts: localhost tasks: - name: Task will be SKIPPED debug: msg: You will never see this message. when: false - name: Failed command will be IGNORED command: /usr/bin/false ignore_errors: true - name: Failed command will be RESCUED block: - command: /usr/bin/false rescue: - debug: msg: "{{ ansible_failed_result }}"
gives
PLAY RECAP ******************************************************************* localhost: ok=2 changed=1 unreachable=0 failed=0 skipped=1 rescued=1 ignored=1
For details see
Briefly, an error is ignored when you set ignore_errors: true. This can be set on multiple levels. See Playbook Keywords. If you use block/rescue you can actively handle the consequences of the error.