diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-09-13 18:19:40 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-09-13 18:19:40 +0300 |
commit | e96f3a688ef60b737d93c1650048d1344b76c991 (patch) | |
tree | f537757dadd6e4c4038b489b53f910982353da17 /run-workers.sh | |
parent | 61c12b7938bd8fd8c17155b646b08fd1caf3cd6c (diff) | |
download | ick2-ansible-e96f3a688ef60b737d93c1650048d1344b76c991.tar.gz |
Change: split workers off main playbook
Diffstat (limited to 'run-workers.sh')
-rwxr-xr-x | run-workers.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/run-workers.sh b/run-workers.sh new file mode 100755 index 0000000..0332027 --- /dev/null +++ b/run-workers.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +set -eu + + +getaddr() +{ + awk -v "name=$1" '$1 == name { print $2 }' "$hosts_in" | + sed 's/ansible_ssh_host=//' +} + + +count_workers() +{ + grep -Ec '^worker[[:digit:]]+' "$1" +} + + +mkhosts() +{ + local n="$1" + for i in $(seq "$n") + do + echo "worker$i hostname=worker$i ansible_ssh_host=$(getaddr worker$i)" + done + echo + + echo "[ickhost]" + for i in $(seq "$n") + do + echo "worker$i" + done + echo + + echo "[workers]" + for i in $(seq "$n") + do + echo "worker$i" + done +} + +hosts_in="$1" +controller_domain="$2" +apt_domain="$controller_domain" +shift 2 + +nw="$(count_workers "$hosts_in")" +mkhosts "$nw" > hosts.tmp +ansible-playbook -i hosts.tmp ick-workers.yml \ + -e "controller_domain=$controller_domain" \ + -e "apt_domain=$apt_domain)" \ + "$@" |