2016-04-27 1 views
0

Wenn ich ein Ansible Playbook gegen viele Server laufen lasse und aus irgendeinem Grund einen Fehler im Spiel finde, muss der Lauf sofort gestoppt werden. Im Moment mische ich Strg + C und es stoppt abrupt. Aber das fühlt sich unangenehm an und riskiert, dass die Server in einem inkonsistenten Zustand bleiben, abhängig von der Art der Aufgabe und dem, was sie tut.möglich, um den Austritt aus Ansible-Playbook-Lauf sicher zu erzwingen?

Ich weiß nicht wirklich, was Ctrl + C tut, während Ansible eine Wiedergabe auf mehreren Servern ausführt, aber es sieht so aus, als würde es auf der lokalen Konsole einfach tot enden. Ich nehme an, auch auf Remote-Server.

Gibt es ein Signal, das an Ansible gesendet werden kann, um die Ausführung des Playbooks auf den Servern, an denen es gerade arbeitet, abzurunden, zB fork 5, aber nicht weiter mit den verbleibenden Servern in der Inventarliste .

Dank fLo

Antwort

1

Nein, gibt es keine solche integrierte Funktion. Sie können möglicherweise create your own strategy plugin, die eine externe Quelle abfragt, die definiert, welche Hosts als nächstes verarbeitet werden sollen - oder fehlschlagen. In seiner einfachsten Form könnten Sie die linear strategy kopieren und zusätzlich den Code einchecken, wenn eine bestimmte Datei existiert. Wenn Sie die Ausführung stoppen möchten, erstellen Sie die Datei manuell.

Ich habe noch nicht mit Strategie-Plugins gearbeitet, aber nach meinem Verständnis sollte das funktionieren.

Verwandte Themen