Ansible - Beenden Sie bei einem Fehler die Rolle und führen Sie die Bereinigung durch

Ich versuche, eine AWS-Bereitstellungsumgebung in Ansible hochzufahren, und ich möchte, dass Ansible bei einem Fehler auf dem Weg alles auf AWS herunterfährt, was bisher hochgefahren wurde. Ich kann nicht herausfinden, wie ich Ansible dazu bringen kann, einen Fehler in die Rolle @ zu werfe

Beispielsweise

<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

Ich habe es versucht

- 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"

Sowie andere Dinge in der Dokumentation, aber was ich wirklich will, ist nur eine Möglichkeit, so etwas wie die Befehle "block" und "rescue" zu verwenden, aber soweit ich das beurteilen kann, funktioniert das nur innerhalb desselben Buches und so weiter spielt, keine Rollen. Hat jemand eine gute Möglichkeit, dies zu tun?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage