Rollender Neustart mit ansible Handlern

8

Ich möchte ein sprechbares Playbook ausführen, das einen Dienst installiert und neu startet, wenn sich seit dem letzten Lauf etwas geändert hat (mehr oder weniger der kanonische Anwendungsfall für ansprechende Handler).

Aber ich möchte eine andere Parallelität für die Installation als für den Neustart: Ich möchte auf allen Hosts gleichzeitig installieren, aber wenn der "Service-Neustart" -Handler aufgerufen wird, möchte ich das ausführen auf X-Hosts gleichzeitig.

Ich weiß, dass dies mit verschiedenen Spielen möglich ist, die unterschiedliche serial -Werte haben. Aber ich kann nicht sehen, wie ich Handler benutzen könnte, wenn ich diesen Weg gehe. Und ich kann es mir nicht leisten, ein einziges Playbook mit einem serial -Wert wie 2 zu haben, da sich für diesen Service meistens nichts ändert.

Können sich die Handler über mehrere Spiele erstrecken? Oder gibt es einen anderen Weg, dies ohne Hacks zu tun?

    
Costi Ciudatu 01.11.2014, 01:47
quelle

2 Antworten

3

Momentan ist es nicht möglich. Es gibt ein Problem dafür.

    
neutrinus 11.09.2015, 11:52
quelle
5

Handler sind nur Aufgaben, die Ansible am Ende eines Spiels bei Bedarf ausführen wird. Da sie implizit am Ende des Spiels hinzugefügt werden, werden sie genauso behandelt wie alle anderen Aufgaben, solange Parameter wie serial gehen. Leider bedeutet das, dass ohne eine Feature-Anfrage, die die Ansible-Entwickler akzeptieren, es unwahrscheinlich ist, dass sich das Verhalten von serial ändert, um das zu unterstützen, was Sie versuchen zu tun.

Ich weiß, dass du erwähnt hast, dass du Hacks vermeiden willst, aber das wird der einzige Weg sein, wie du an dieser Stelle so etwas tun kannst. Es sollte nicht zu schwierig sein, etwas einzurichten, das kein wichtiger Hack ist, wie das Erstellen einer temporären Datei, um den Neustart zu kennzeichnen:

%Vor%     
Bruce P 11.11.2014 21:59
quelle

Tags und Links