Ansible: en caso de error, salga del rol y ejecute la limpieza
Estoy tratando de poner en marcha un entorno de implementación de AWS en Ansible, y quiero hacerlo para que si algo falla en el camino, Ansible derriba todo lo que se ha desarrollado en AWS hasta ahora. No puedo entender cómo hacer que Ansible arroje un error dentro del rol
Por ejemplo:
<main.yml>
- hosts: localhost
connection: local
roles:
- make_ec2_role
- make_rds_role
- make_s3_role
2. Then I want it to run some code based on that error here.
<make_rds_role>
- name: "Make it"
- rds:
params: etc <-- 1. Let's say it fails in the middle here
He intentado:
- name: this command prints FAILED when it fails
command: /usr/bin/example-command -x -y -z
register: command_result
failed_when: "'FAILED' in command_result.stderr"
Además de otras cosas dentro de la documentación, pero lo que realmente quiero es solo una forma de usar algo como los comandos "bloquear" y "rescatar", pero por lo que puedo decir, eso solo funciona dentro del mismo libro y en las obras , no roles. ¿Alguien tiene una buena manera de hacer esto?