#!/bin/bash
# Connect to lab-control v2 runtime server and re-run the S3 version userdata.
# lab-control v2 server is lab.pingcap.net.
# Configuration files are in s3://pe-lab-control/config_v2/

SGID=`aws ec2 describe-instances \
--filter "Name=instance-state-name,Values=running" "Name=tag:Name,Values=lab-control-v2" \
--query "Reservations[0].Instances[0].SecurityGroups[0].GroupId" \
--region us-west-2 \
--output text`

aws ec2 authorize-security-group-ingress --group-id ${SGID} --protocol tcp --port 22 --cidr 0.0.0.0/0

for ip in `aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" "Name=tag:Name,Values=lab-control-v2" --query "Reservations[*].Instances[*].PublicIpAddress" --output text`; do

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -A ec2-user@${ip} << 'EOFX'
echo "Operating on `hostname`"
cd ~ec2-user/stage/
aws s3 cp s3://pe-lab-control/config_v2/userdata_for_online_page_update.sh .
chmod +x ./userdata_for_online_page_update.sh
sudo ./userdata_for_online_page_update.sh
EOFX

done;

aws ec2 revoke-security-group-ingress --group-id ${SGID} --protocol tcp --port 22 --cidr 0.0.0.0/0
