summaryrefslogtreecommitdiff
path: root/ansible/all.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/all.sh')
-rwxr-xr-xansible/all.sh81
1 files changed, 53 insertions, 28 deletions
diff --git a/ansible/all.sh b/ansible/all.sh
index 235b039..af57e61 100755
--- a/ansible/all.sh
+++ b/ansible/all.sh
@@ -2,37 +2,62 @@
set -eu
-playbooks="
+skipped="
holywood2.yml
+debmirror.yml
+"
+
+playbooks="
exolobe1.yml
exolobe2.yml
atuin.yml
"
-# debmirror.yml
-
-for playbook in $playbooks
-do
- echo "$playbook"
- chronic ./run-playbook "$playbook"
-done
-
-if ping -c1 exolobe4 > /dev/null
-then
- echo exolobe4.yaml
- chronic ./run-playbook exolobe4.yml
-fi
-
-echo git.liw.fi
-chronic run-ansible git.liw.fi.hz hosts.git git.liw.fi.yml
-
-echo http.liw.fi
-chronic run-ansible http.liw.fi.hz hosts.http http.liw.fi.yml
-
-echo irc.liw.fi
-chronic run-ansible irc.liw.fi.hz hosts.irc irc.liw.fi.yml
-
-echo shell.liw.fi
-chronic run-ansible shell.liw.fi.hz hosts.shell shell.liw.fi.yml
-echo letest-letest.vm.liw.fi
-chronic run-ansible letest.hz hosts.letest letest.yml
+newer()
+{
+ [ "$1" -nt "$2" ] || [ ! -e "$2" ]
+}
+
+
+online()
+{
+ ping -c1 "$1" > /dev/null 2>/dev/null
+}
+
+maybe_run_playbook()
+{
+ if newer "$1.yml" "$1.stamp" && online "$1"
+ then
+ echo "$1"
+ chronic ./run-playbook "$1.yml"
+ touch "$1.stamp"
+ else
+ echo "SKIPPING $1"
+ fi
+}
+
+maybe_run_ansible()
+{
+ if newer "$1.yml" "$1.stamp" && online "$1"
+ then
+ echo "$1"
+ chronic run-ansible "$1.hz" "hosts.$2" "$1.yml"
+ touch "$1.stamp"
+ else
+ echo "SKIPPING $1"
+ fi
+}
+
+maybe_run_playbook exolobe1
+maybe_run_playbook exolobe2
+maybe_run_playbook exolobe4
+maybe_run_playbook exolobe5
+maybe_run_playbook holywood2
+maybe_run_playbook debmirror
+maybe_run_playbook atuin.liw.fi
+
+maybe_run_ansible git.liw.fi git
+maybe_run_ansible http.liw.fi http
+maybe_run_ansible irc.liw.fi irc
+maybe_run_ansible shell-shell.vm.liw.fi shell
+maybe_run_ansible letest-letest.vm.liw.fi letest