While error conditions can be narrowly defined, there will be times when real errors happen. Ansible provides a method to react to true errors, a method that allows running additional tasks when an error occurs, defining specific tasks that always execute even if there was an error, or even both. This method is the blocks feature.
The blocks feature, introduced with Ansible version 2.0, provides some additional structure to play task listings. Blocks can group tasks together into a logical unit, which can have task controls applied to the unit as a whole. In addition, a Block of tasks can have optional rescue
and always
sections.
The rescue
section of a block defines a logical unit of tasks that will be executed should a true failure be encountered within a block
. As Ansible performs the tasks within a block
, from top to bottom, when a true failure is encountered execution will jump to the first task of the rescue
section of the block
, if it exists. Then tasks are performed...