Newer
Older
#!/bin/bash
CLIENT_USER=mnr17
cd $(dirname $0)
app_url="https://lets-draw.live?room=test-$(date +%s)"
client_hostnames=$(cat client-hostnames)
num_peers=$(echo $client_hostnames | wc -w)
install_pids=""
for hostname in $client_hostnames; do
(
ssh -oStrictHostKeyChecking=no $CLIENT_USER@$hostname "rm -rf ~/client" &&
scp -r client $CLIENT_USER@$hostname:~/client &&
ssh -oStrictHostKeyChecking=no $CLIENT_USER@$hostname "
source ~/.nvm/nvm.sh &&
cd ~/client &&
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 &&
npm install
"
) &
install_pids="$install_pids $!"
# The file system is shared between hosts in this case, so break after
# installing once.
break
done
wait $install_pids
current_peer_index=0
run_pids=""
for hostname in $client_hostnames; do
ssh -oStrictHostKeyChecking=no $CLIENT_USER@$hostname "
source ~/.nvm/nvm.sh &&
cd ~/client &&
export PEER_INDEX=$current_peer_index &&
export NUM_PEERS=$num_peers &&
export PUPPETEER_EXECUTABLE_PATH=\"/opt/google/chrome/chrome\" &&
node --experimental-modules spawn-peer.js
" &
run_pids="$run_pids $!"
current_peer_index=$((current_peer_index+1))
done
wait $run_pids