feat(scripts/test-cluster): create three proxy nodes

This uses some sleep hackery to make sure that window 1 has followers
and window 2 has proxy machines. Seems to work!
This commit is contained in:
Brandon Philips 2014-03-04 18:58:39 -08:00
parent fe4dee03ab
commit ddce52c44e

View File

@ -1,10 +1,11 @@
#!/bin/bash
#!/bin/bash -x
SESSION=etcd-cluster
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ulimit -n unlimited
tmux new-session -d -s $SESSION
mkdir test-cluster
peer_args=
if [ -n "${DISCOVERY_URL}" ]; then
@ -15,7 +16,7 @@ fi
tmux new-window -t $SESSION:1 -n 'peers'
tmux split-window -h
tmux select-pane -t 0
tmux send-keys "${DIR}/../bin/etcd -peer-addr 127.0.0.1:7001 -addr 127.0.0.1:4001 -data-dir peer1 -name peer1 ${peer_args}" C-m
tmux send-keys "${DIR}/../bin/etcd -peer-addr 127.0.0.1:7001 -addr 127.0.0.1:4001 -data-dir test-cluster/peer1 -name peer1 ${peer_args}" C-m
if [ -z "${peer_args}" ]; then
peer_args="-peers 127.0.0.1:7001"
@ -24,7 +25,18 @@ fi
for i in 2 3; do
tmux select-pane -t 0
tmux split-window -v
tmux send-keys "${DIR}/../bin/etcd -cors='*' -peer-addr 127.0.0.1:700${i} -addr 127.0.0.1:400${i} -data-dir peer${i} -name peer${i} ${peer_args}" C-m
tmux send-keys "sleep 2; ${DIR}/../bin/etcd -cors='*' -peer-addr 127.0.0.1:700${i} -addr 127.0.0.1:400${i} -data-dir test-cluster/peer${i} -name peer${i} ${peer_args}" C-m
done
tmux new-window -t $SESSION:2 -n 'proxy'
tmux split-window -h
tmux select-pane -t 0
tmux send-keys "curl -XPUT -H \"Content-Type: application/json\" -d '{\"activeSize\":3, \"promoteDelay\":30}' http://127.0.0.1:7001/config" C-m
for i in 4 5 6; do
tmux select-pane -t 0
tmux split-window -v
tmux send-keys "sleep 5; ${DIR}/../bin/etcd -cors='*' -peer-addr 127.0.0.1:700${i} -addr 127.0.0.1:400${i} -data-dir test-cluster/peer${i} -name peer${i} ${peer_args}" C-m
done
# Attach to session