2015-03-23 4 views
6

Ich habe ein Playbook für ubuntu und centos und ich möchte main.yml benutzen um zu überprüfen "wann: ansible_os_family == 'RedHat' oder ansible_distribution == 'Centos'" run Playbooks (wie einige ans viele :-))ansible - wenn die Bedingung wahr ist, laufe einige include yml Dateien

, wenn ich nur

-include: centos-xxx.yml 
-include: centos-xaa.yml 
-include: centos-xsss.yml 

es werden alle von ihnen laufen
ich möchte, dass das Playbook laufen wird, wenn treffen Bedingung

i jeder finden didnt doc, die sagen, wie man läuft include: mehr als ein i Ich versuche nicht Aufgabe zu machen pro umfassen, wenn möglich

Dank für die Hilfe

Antwort

11

Sie die when conditional verwenden können Dateien enthalten. Dies ist in der Tat etwas üblich.

- include: centos-xxx.yml 
    when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos' 
- include: debian-xxx.yml 
    when: ansible_distribution == 'Debian' 

Per Ihre comment-, wenn Sie wollen, dass sie, um laufen, haben Sie zwei Möglichkeiten. Hier ist das einfach:

- include: centos-a.yml 
    when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos' 
- include: centos-b.yml 
    when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos' 
- include: centos-c.yml 
    when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos' 
- include: centos-d.yml 
    when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos' 

Oder Sie können dies tun:

- include: centos.yml 
    when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos' 

und innen centos.yml:

- include: centos-a.yml 
- include: centos-b.yml 
- include: centos-c.yml 
- include: centos-d.yml 
+0

Hallo danke für die Antwort, aber meine Absicht ist, wie dieser - Name: überprüfen Sie, ob Centos - enthalten: Centos-A.yml - enthalten: Centos-b.yml - enthalten: Centos-c.yml - umfassen: Centos-d.yml - umfassen: Centos-e.yml wenn: ansible_os_family == 'RedHat' oder ansible_distribution == 'Centos' ich will, dass dies alles beinhalten wird, um von A bis E laufen –

+0

Ich habe einige Beispiele hinzugefügt, die das abdecken könnten, @NoamGreenberg. – tedder42

+0

hi hast du es versucht? das Include überspringt das "wenn" –

Verwandte Themen