cevich.touchstone
Touchstone
Ansible Galaxy aktiviert Rolle, um Sets von Playbooks, Rollen oder Aufgaben idempotent zu machen. Dies ist entscheidend für einige Sequenzdeklarationen. Zum Beispiel, wenn eine Rolle das Partitionieren macht und eine andere das Formatieren. Wenn man diese Sequenz in der Zukunft erneut anwendet, besteht eine gute Chance, dass man die Daten beschädigt.
Anforderungen
Gleich wie das Standard-Ansible 2.3+
Rollenvariablen
touch_touchstone
:
Wenn wahr, markiere den Endzustand oder die Vollständigkeit, die durch
stone_name
identifiziert wird.
stone_name
:
Optional, Identifikationszeichen, das verwendet wird, wenn mehrere Endzustände verfolgt werden müssen. Zum Beispiel mehrere Playbooks. Standardmäßig auf
.touchstone
gesetzt.
touchstone_filepath
:
Optional, Verzeichnis-Pfad, wo der Touchstone überprüft oder geschrieben wird. Muss ein dauerhaftes, beschreibbares Verzeichnis für
ansible_user
sein, also keintmpdir
basiertes/tmp
. Eine Lockdatei wird in diesem Verzeichnis erstellt/prüft, unabhängig davon, ob der Touchstone berührt wird.
stone_touched
:
Ein boolescher Wert, der während der Rolle gesetzt wird, um den aktuellen Touchstone-Zustand widerzuspiegeln. Wenn
True
, zeigt es an, dass der Stein in der Vergangenheit mindestens einmal berührt wurde.
touchstone_template
:
Optional, vollständiger Pfad zur jinja2-Vorlage, die zur Generierung des Inhalts der Touchstone-Datei verwendet wird.
Abhängigkeiten
Eine systemd-basierte Maschine mit einer einzigartigen /etc/machine-id.
Beispiel-Playbook
- hosts: all
roles:
- role: cevich.touchstone
- role: something
when: not stone_touched
- role: another_thing
when: not stone_touched
- role: final_thing
when: not stone_touched
- role: cevich.touchstone
touch_touchstone: True
Lizenz
Einfach Sets von Playbooks, Rollen oder Aufgaben idempotent machen. Urheberrecht (C) 2017 Christopher C. Evich
Dieses Programm ist freie Software: Sie können es weiterverbreiten und/oder ändern unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, entweder in Version 3 der Lizenz oder (nach Ihrer Wahl) in einer späteren Version.
Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, aber OHNE JEDE GARANTIE; ohne sogar die implizite Garantie der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere Details.
Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Wenn nicht, siehe https://www.gnu.org/licenses/.
Autoreninformationen
Verursache Probleme und stifte Unruhe mit Linux seit Windows 98
Kontinuierliche Integration
Easily make sets of plays, roles or tasks idempotent.
ansible-galaxy install cevich.touchstone