Junior — Middle
How can error handling and failures be implemented when executing tasks in Ansible?
sobes.tech AI
Answer from AI
In Ansible, there are several approaches to handle errors and failures during task execution:
- ignore_errors: allows the playbook to continue even if a task fails.
- name: Copy file
copy:
src: /tmp/file
dest: /etc/file
ignore_errors: yes
- block/rescue/always: blocks for grouping tasks with error handling. In the
rescueblock, you can define actions to take when an error occurs.
- block:
- name: Execute a critical task
command: /bin/false
rescue:
- name: Handle error
debug:
msg: "An error occurred, performing recovery"
always:
- name: Always executed
debug:
msg: "End of block"
-
failed_when: allows setting a condition under which a task is considered failed.
-
register + when: allows saving the result of a task and making decisions based on it.
By combining these mechanisms, you can flexibly control the behavior of playbooks in case of errors and failures.