Ich baue ein System, um eine gesamte Umgebung in AWS zu implementieren. Im Falle eines Fehlers möchte ich jedoch alles abreißen, was bereits gebaut wurde. Da ich mehrere verschiedene Umgebungen bereitstellen wollte, dachte ich mir, dass es besser wäre, eine laufende Liste von dem zu führen, was ich bis dahin in AWS gemacht habe.Ansible - Wie pflegen Sie eine dynamische Liste von Daten
Also ich möchte eine Möglichkeit, nur ein einfaches Array der Namen jeder Komponente zu speichern, die Namen anfügt, wie jedes Teil wird abwechselnd gedreht, so dass in der Fehlerphase kann ich einfach alles beenden, aber das ist was mich ziemlich kratzt.
Wie es aussieht, sieht mein Code so etwas wie dieses:
Top-Level-Textbuch
- hosts: localhost
connection: local
roles:
- { role: make_ec2, when: "ansible_failed_task is undefined" }
--Fails Here--
- { role: make_ec2, when: "ansible_failed_task is undefined" }
- { role: make_ec2, when: "ansible_failed_task is undefined" }
post_tasks:
- name: "do a teardown"
*iterate through list and tear down environment*
when: ansible_failed_task is defined
make_ec2 (Dies ist in einem Block/Rettung)
---
- name: "spin up EC2
--all the variables you need to spin up the EC2"
register: EC2
- name: "Append List"
- set_fact:
ec2_list: "{{ ec2_list | default | -Append ec2.string.value- }}"
Darüber hinaus, wenn es irgendwelche besseren Möglichkeiten gibt, das Abreißen zu machen, lass es mich auch wissen!
ohne zu wissen, wie Ihre Rollen konfiguriert sind, können Sie nicht in einem der Module, die Sie für die Bereitstellung der folgenden Aktionen verwenden .. bis: "etwas passiert gut", Wiederholungen: 20, Verzögerung: 10? ? Wenn Sie dies bereits tun, dann ignorieren Sie meinen Kommentar :) – linuxdynasty
Für die Systeme, die dies erfordern, habe ich bereits etwas in der Art :) Das Problem ist meist nur versuchen, eine Art von Variablen zu speichern, um Daten zu speichern, sobald ich Holen Sie es zurück. – ExaExcellion