2016-06-08 4 views
0

Ich bin neu zu ansible so mit mir zu tragen, wenn meine Frage ein bisschen grundlegend ist.ansible Playbook Hosts, gibt es eine Möglichkeit, nach Variablen zu filtern

I 10 Wordpress-Seiten mit verschiedenen Themen haben, alle von ihnen sind in den Hosts aufgeführt Datei unter 'Produktion' Gruppe:

[production] 

black.com 

red.com 

blue.com 

Jeder Standort erfordern unterschiedliche Variablen:

theme_name: black 

Gibt es trotzdem, dass ich ein Playbook auf 'Produktion' Host-Gruppe, mit Variable ausführen kann?

Antwort

2

Sie können nicht einfach * nach Variablen filtern. Aber Sie könnten Ihre Gastgeber zusätzliche Gruppen hinzufügen wie folgt:

[production] 
black.com 
red.com 
blue.com 

[black] 
black.com 

[red] 
red.com 

[blue] 
blue.com 

Nun zum Thema Namen ein Sie gruppen Vars-Dateien erstellen. Zum Beispiel für die rote Gruppe erstellen Sie die Datei group_vars/red mit dem Inhalt:

theme_name: red 

Jetzt können Sie Ihr Textbuch mit den black, red und blue Gruppen laufen.

* Ich denke, es gibt einen Weg, indem Sie Filter auf dem hostvars dict laufen lassen und es auf eine Liste von Hostnamen reduzieren, die Ihren Kriterien entsprechen. Aber das scheint Overhead und gegen die Best Practice zu sein. Wenn Sie eine bestimmte Gruppe von Hosts als Ziel auswählen möchten, sollten Sie eine Gruppe für sie im Inventar haben.

+0

danke @udondan, –

+0

@boazbarkan, Sie sollten besser als es zu sagen, danke sagen. – BMW

+0

Ich hatte auf eine bessere Antwort gehofft .. –

1

Nicht sicher, dass Ihre Frage ist absolut klar, aber eine andere mögliche Antwort auf Ihre Fragen sein könnten:

Sie Variablen direkt an Hosts oder Gruppen im Inventar zuordnen können, gibt es eine gute Einführung, wie können Sie Tun Sie dies here.

Beispiel von der Seite angehoben, Variablen nach dem Host-Eintrag definiert:

[atlanta] 
host1 http_port=80 maxRequestsPerChild=808 
host2 http_port=303 maxRequestsPerChild=909 

Dies sollte für kleine Mengen von Wirt gut funktionieren, obwohl es bessere Ansätze sind, wenn in großem Umfang arbeiten.

hth.

Verwandte Themen