#!/bin/sh
if [ $# -lt 2 ]; then
    echo "usage: $0 path-nomad-v1 path-nomad-v2" 1>&2
    exit 1
fi

v1="$1"; shift
v2="$1"; shift

sh run_cluster.sh "$v1" &

function peers () {
    $v1 operator raft list-peers | tail -n+2 | awk '{print $1 " " $2}'
}

while true; do
    n=`peers | grep -c '\bserver[1-3]\b'`
    [ "$n" = 3 ] && break
done

function wait_serf () {
    echo "wait $1 \c"; date
    while true; do
	  peers \
	      | egrep "$1.global [0-9a-f-][0-9a-f-]{35}$" \
	      && break
	  sleep 1
    done
    echo "done $1 \c"; date
}

for i in {3,2,1}; do
    sh kill_node.sh server$i
    sh run_node.sh "$v2" server$i &
    wait_serf server$i
done
