Put setup into a script, and don't forget to start Docker.
Change-Id: Ieca29f1ca5ff6bfda7763fc31deee054d89c2a94
diff --git a/worker/README.md b/worker/README.md
index 458b681..9d608f9 100644
--- a/worker/README.md
+++ b/worker/README.md
@@ -2,7 +2,7 @@
VMs should be created as:
- * named city-hackathon-40, city-hackathon-41, etc; the numbers should
+ * named $DESCRIPTION-40, $DESCRIPTION-41, etc; the numbers should
be free in the CI master
* Machine: 24 CPUs/90G RAM.
@@ -11,49 +11,4 @@
* SSH: add your personal key.
-Here is a gcloud command:
-
-```
-num=51 # find some number that is free in the master.
-CITY=...
-for zone in us-east4-a \
- us-central1-c \
- us-east1-b \
- us-west1-b \
- europe-west1-b \
- europe-west4-a ; \
-do
- gcloud \
- --project=${GCE_PROJECT} \
- compute instances create \
- --custom-cpu=24 \
- --custom-memory=90 \
- --image-project eip-images \
- --image-family rhel-7-drawfork \
- --boot-disk-size=100GB \
- --boot-disk-type=pd-ssd \
- --zone=${zone} \
- ${CITY}-hackathon-${num} &
- num=$(($num+1))
-done
-wait
-```
-
-Install your own key:
-
-```
-for n in $(seq 51 56) ; do
- gcloud --project=${GCE_PROJECT} compute ssh ${CITY}-hackathon-${n} --command='echo KEY >> .ssh/authorized_keys'
-done
-```
-
-
-```sh
-IPS=$(gcloud --project=${GCE_PROJECT} compute instances list | awk '{print $9;}')
-for DEST in $IPS ; do
- echo $DEST && \
- scp -o StrictHostKeyChecking=no $HOME/.ssh/gerritforge/id_ecdsa ${DEST}: && \
- scp worker/* ${DEST}: && \
- ssh ${DEST} 'sudo sh -x $(pwd)/setup.sh'
-done
-```
+Run `setup-all.sh` to start workers.
diff --git a/worker/setup-all.sh b/worker/setup-all.sh
new file mode 100644
index 0000000..cf6784e
--- /dev/null
+++ b/worker/setup-all.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+if [[ -z "$num" ]]; then
+ echo "Must set 'num'"
+ exit 1
+fi
+
+if [[ -z "$DESCRIPTION" ]]; then
+ echo "Must set 'DESCRIPTION'"
+ exit 1
+fi
+
+if [[ -z "$GCE_PROJECT" ]]; then
+ echo "Must set 'GCE_PROJECT'"
+ exit 1
+fi
+
+n=num
+for zone in us-east4-a \
+ us-central1-c \
+ us-east1-b \
+ us-west1-b \
+ europe-west1-b \
+ europe-west4-a ; \
+do
+ gcloud \
+ --project=${GCE_PROJECT} \
+ compute instances create \
+ --custom-cpu=24 \
+ --custom-memory=90 \
+ --image-project eip-images \
+ --image-family rhel-7-drawfork \
+ --boot-disk-size=100GB \
+ --boot-disk-type=pd-ssd \
+ --zone=${zone} \
+ ${DESCRIPTION}-${n} &
+ n=$(($n+1))
+done
+wait
+
+
+# Install our key
+KEY=$(ssh-add -L |grep -v cert)
+for n in $(seq ${num} $((${num} + 5))) ; do
+ gcloud --project=${GCE_PROJECT} compute ssh ${DESCRIPTION}-${n} \
+ --command="echo ${KEY} >> .ssh/authorized_keys"
+done
+
+# setup docker.
+IPS=$(gcloud --project=${GCE_PROJECT} compute instances list | awk '{print $9;}')
+for DEST in $IPS ; do
+ echo $DEST && \
+ scp -o StrictHostKeyChecking=no $HOME/.ssh/gerritforge/id_ecdsa ${DEST}: && \
+ scp worker/* ${DEST}: && \
+
+ # this takes a while.
+ ssh ${DEST} 'sudo sh -x $(pwd)/setup.sh' &
+done
+wait
diff --git a/worker/setup.sh b/worker/setup.sh
index d756bc8..90eda2c 100755
--- a/worker/setup.sh
+++ b/worker/setup.sh
@@ -29,6 +29,7 @@
cp ${src}/tunnel.sh /root
systemctl daemon-reload
+systemctl enable docker
systemctl start docker
systemctl restart docker
systemctl enable setup-tunnel.service