2016-07-13 4 views
0

(Seien Sie gewarnt: total newbie Frage folgt):Können Sie Variablen auf dem Computer festlegen, auf dem Ansible ausgeführt werden kann, nicht auf dem Host?

Ich bin derzeit ein Textbuch debuggen, die zwei neue Hosts erstellt, entfernt zwei alte Rechner von einem Load Balancer, fügt dann die beiden neuen Hosts mit dem Load-Balancer. Wir haben viele dieser Stücke in ihre eigenen Playbook-Dateien aufgeteilt und sie in ein Top-Level-Spiel aufgenommen.

Ich möchte in der Lage sein, eine Liste der beiden neuen Hosts früher in einem Spiel zu setzen und auf dem Rechner zwischen diesen verschachtelten Spielen bestehen zu lassen, so dass ich später ein Spiel ausführen kann, das die Liste von die alten Hosts, die sich derzeit im Load Balancer befinden, verwenden Sie dann die Liste der neuen Hosts, die ich zuvor festgelegt habe, um sie dem LB hinzuzufügen, und verwenden Sie dann die Liste der alten Hosts, um sie aus dem LB zu entfernen. Dies ist, soweit ich das beurteilen kann, der beste Weg, dies zu tun, da das rax_clb_nodes-Modul von Rackspace Änderungen am Load-Balancer von localhost vornimmt.

A.) Ist dies der beste Weg, dies zu erreichen?

B.) Was ist der beste Weg, dies zu tun?

Antwort

0

Fakten, die von set_fact gesetzt werden, sind persistent zwischen Spielen.
So können Sie Fakt für localhost setzen und dann später als {{ hostvars['localhost']['my_custom_fact'] }} verwenden.

Bitte lesen Sie über Magic Variables - z.B. Wenn Sie Ihre neuen Hosts in eine separate Inventargruppe einfügen, können Sie diese Gruppe durchlaufen.

Verwandte Themen