diff options
Diffstat (limited to 'run_playbook')
| -rwxr-xr-x | run_playbook | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/run_playbook b/run_playbook new file mode 100755 index 0000000..d6d781f --- /dev/null +++ b/run_playbook @@ -0,0 +1,58 @@ +#!/bin/bash + +# Achtung beim Editieren! +# +# Identische Datei (via symlinks) fuer: +# ansible-hosts +# ansible-postgres +# ansible-mysql + +command="ansible-playbook -v -i hosts $@ site.yml" + +echo +echo "Aufruf:" +echo " run_playbook [ansible-playbook-Optionen]" +echo "Beispiel:" +echo " run_playbook <- alles auf allen Servern durchfuehren" +echo " run_playbook -C <- alles auf allen Servern, aber nur simulieren" +echo " run_playbook -l seto,izumo <- alles durchfuehren, aber nur auf seto und izumo" +echo " run_playbook -l chaos <- alles durchfuehren, aber nur auf seto und izumo (chaos)" +echo " run_playbook -t apt <- auf allen Serven nur die Aufgaben der Rolle apt durchfuehren" +echo " run_playbook -C -t apt -l chaos <- Kombination von allem oberen" +echo +echo "Verfuegbare Tags:" +grep tags -A1 site.yml | grep -v tags | grep -v -- -- | uniq +echo +echo "Verfuegbare Tags zum Gruppenkopieren:" +echo -n " - " +grep tags -A1 site.yml | grep -v tags | grep -v -- -- | uniq | sed 's/[ -]*//' | tr '\n' ',' | sed 's/,$//' +echo +echo +echo "Werde folgendes Kommando ausfuehren:" +echo +echo " $command" +echo +read -p "Letzte Chance, mit CTRL-C abzubrechen; ansonsten mit Enter weiter..." + +# Kurz die Gruppenrechte in der Rolle bin korrigieren +# (git speichert leider nur die Rechte auf user-Ebene, +# der Rest haengt von der umask des jeweils auscheckenden +# Rechners ab) +if [ -d roles/bin ]; then + chmod -R g-w roles/bin/files + chmod -R g-w roles/bin/templates +fi + +if [ -x /usr/bin/unbuffer ]; +then + unbuffer $command | tee log/colored.log +else + $command +fi + +echo "Verfuegbare Tags zum Gruppenkopieren:" +echo -n " - " +grep tags -A1 site.yml | grep -v tags | grep -v -- -- | uniq | sed 's/[ -]*//' | tr '\n' ',' | sed 's/,$//' +echo +echo + |
