Ansible
Inventory Hostgruppen anzeigen/prüfen
Da Ansible Gruppen bei größeren Projekten auch mal unübersichtlich werden können, kann man sich die interpretierte Ansicht auch von Ansible selbst ausgeben lassen:
ansible -i inventory localhost -m debug -a 'var=groups'
Das sieht dann z.B. so aus:
PLAY [Ansible Ad-Hoc] *********************************************************************************************
TASK [debug] ******************************************************************************************************
ok: [localhost] => {
"groups": {
"all": [
"server1.foobar.de",
"server2.foobar.de",
"server3.foobar.de",
],
"apache": [
"server1.foobar.de",
"server2.foobar.de"
],
"docker_engine": [
"server3.foobar.de"
],
"elasticsearch": [
"container1.foobar.de"
]
}
}
PLAY RECAP ********************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Schöne Fehlermeldungen mit ansible-playbook
Die Ausgabe der Fehlermeldungen bei ansible-playbook erfolgt standardmäßig als json. Das ist schwer zu lesen. Aber es geht auch schöner.
Dazu ist eine kleine Änderung in der ansible.cfg notwendig. Diese wird von ansible-playbook in folgende Reihenfolge gesucht:
- ANSIBLE_CONFIG (Umgebungsvariable falls gesetzt)
- ansible.cfg (im aktuellen Verzeichnis)
- ~/.ansible.cfg (in deinem Home)
- /etc/ansible/ansible.cfg
Folgender Eintrag ist zu ändern:
# change the default callback, you can only have one 'stdout' type enabled at a time.
#stdout_callback = skippy
#stdout_callback = debug
stdout_callback = yaml