Ich versuche, eine AWS-Implementierungsumgebung in Ansible hochzufahren, und ich möchte es so einrichten, dass, wenn etwas auf dem Weg fehlschlägt, Ansible alles auf AWS zerreißt war bis jetzt gesponnen. Ich kann nicht herausfinden, wie ansible bekommen einen Fehler in der RolleAnsible - Bei Fehler, Rolle beenden und Bereinigung ausführen
Zum Beispiel zu werfen:
<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 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 innerhalb die Dokumentation, aber was ich wirklich will, ist nur ein Weg, etwas wie die "Block" und "Rettungs" -Befehle zu verwenden, aber soweit ich sagen kann, das funktioniert nur innerhalb des gleichen Buches und auf Spielen, nicht Rollen. Hat jemand einen guten Weg, dies zu tun?
Ich habe es versucht und es funktioniert. Ich wusste nicht, dass Ansible eine definierte Fehlerstatusvariable hatte. Vielen Dank! – ExaExcellion