Ansible Picking falsche Variablenkonfiguration, wenn der Host zu mehreren Hostgruppen gehört
310
dangonfast
Ich habe einen Server, infra
der zu zwei verschiedenen Hostgruppen gehört. Für jede Hostgruppe habe ich folgende Einstellungen group_vars/<host-group>.yml
:
# in group_vars/develop.yml user_name: "develop" ...
Und:
# in group_vars/infra.yml user_name: "infra" ...
Meine hosts
sind:
[deploy_servers] int.openstack.mine preprod.openstack.mine prod.openstack.mine [infra_servers] infra.openstack.mine [develop_servers] infra.openstack.mine int.openstack.mine
Das infra.yml
Spielbuch ist:
--- - name: "Configure infrastructure hosts" hosts: infra_servers become: yes roles: - { role: "nickjj.user", tags: "user" } - { role: "nickjj.docker", tags: "docker" } - infra
Das develop.yml
Spielbuch ist:
--- - name: "Configure development hosts" hosts: develop_servers become: yes roles: - { role: "nickjj.user", tags: "user" } - { role: "nickjj.docker", tags: "docker" } - develop
Jetzt das Playbook auf die Entwicklungsserver beschränken:
ansible-playbook -i hosts develop.yml
bewirkt, dass die Variable user_name
den falschen Wert wählt infra
. Das Problem verschwindet, wenn ich den Server infra
aus der infra_servers
Gruppe entferne . Dies ist jedoch nicht richtig: Der Server ist auch ein Infra-Server, und wenn das Playbook für die Infra-Server ausgeführt wird, muss die Variable tatsächlich den Wert erhalten infra
.
Warum wird der falsche Wert gewählt, wenn das Playbook auf das beschränkt wird develop_servers
?
0 Antworten auf die Frage
Verwandte Probleme
-
3
Ansible-Befehlsaufgabe läuft in "Exec format error"
-
3
Führen Sie ein Remote-Skript / eine Remote-Anwendung im getrennten Modus in Ansible aus
-
2
Welche Bedeutung hat eine Ansible-Aufgabe, die meldet, dass sich etwas geändert hat?
-
3
Kopieren Sie meinen SSH-Schlüssel über die SSH-Kopie-ID in einem Skript auf eine Remote-Maschine ohn...
-
2
Vagrant und ansehnliche Fakten
-
4
Konnte die Konfigurationsdatei unter "/ etc / ansible /" unter Mac OS X nicht finden
-
1
Wie kann ich die Ausgabe eines Programms anzeigen, das mit einem SSH-Befehl in Linux gestartet wurde...
-
1
In Ansible werden keine Parameter für die Bestandsdatei verwendet
-
1
Ansible Betriebssystem ermitteln
-
5
Ansible: Wie werden Verzeichnis- und Dateiberechtigungen rekursiv festgelegt?