Debugging code execution
Sometimes logging and inspection of variable data is not enough to troubleshoot a problem. When this happens, it can be necessary to interactively debug the playbook, or to dig deeper into the internals of Ansible code. There are two main sets of Ansible code, the code that runs locally on the Ansible host and the module code that runs remotely on the target host.
Playbook debugging
Playbooks can be interactively debugged, using an execution strategy introduced in Ansible 2.1, the debug
strategy. If a play uses this strategy, when an error state is encountered an interactive debugging session starts. This interactive session can be used to display variable data, display task arguments, update task arguments, update variables, redo task execution, continue execution, or exit the debugger.
Let's demonstrate this with a play that has a successful task followed by a task with an error, followed by a final successful task. We'll re-use the playbook we've been using but update...