37 lines
658 B
Bash
37 lines
658 B
Bash
|
#!/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
|