diff --git a/prepare-vms/README.md b/prepare-vms/README.md index daa1f80a..a8540860 100644 --- a/prepare-vms/README.md +++ b/prepare-vms/README.md @@ -57,6 +57,7 @@ workshopctl - the orchestration workshop swiss army knife Commands: ami Show the AMI that will be used for deployment amis List Ubuntu AMIs in the current region +build Build the Docker image to run this program in a container cards Generate ready-to-print cards for a batch of VMs deploy Install Docker on a bunch of running VMs ec2quotas Check our EC2 quotas (max instances) @@ -64,6 +65,7 @@ help Show available commands ids List the instance IDs belonging to a given tag or token ips List the IP addresses of the VMs for a given tag or token kube Setup kubernetes clusters with kubeadm (must be run AFTER deploy) +kubetest Check that all notes are reporting as Ready list List available batches in the current region opensg Open the default security group to ALL ingress traffic pull_images Pre-pull a bunch of Docker images @@ -72,6 +74,7 @@ start Start a batch of VMs status List instance status for a given batch stop Stop (terminate, shutdown, kill, remove, destroy...) instances test Run tests (pre-flight checks) on a batch of VMs +wrap Run this program in a container ``` ### Summary of What `./workshopctl` Does For You @@ -128,6 +131,13 @@ az group deployment create --resource-group workshop --template-file azuredeploy az vm list-ip-addresses --resource-group workshop --output table ``` +After the workshop is over, remove the instances: + +``` +az group delete --resource-group workshop +``` + + ## Other Tools ### Deploying your SSH key to all the machines diff --git a/prepare-vms/lib/commands.sh b/prepare-vms/lib/commands.sh index f9cc6671..7b33e5fc 100644 --- a/prepare-vms/lib/commands.sh +++ b/prepare-vms/lib/commands.sh @@ -175,10 +175,10 @@ _cmd kubetest "Check that all notes are reporting as Ready" _cmd_kubetest() { # There are way too many backslashes in the command below. # Feel free to make that better ♥ - pssh -i " + pssh " set -e if grep -q node1 /tmp/node; then - for NODE in \$(awk /\ node/\ {print\ \\\$2} /etc/hosts); do + for NODE in \$(awk /\ node/\ {print\ \\\$2} /etc/hosts); do echo \$NODE ; kubectl get nodes | grep -w \$NODE | grep -w Ready done fi" @@ -434,6 +434,7 @@ tag_is_reachable() { } test_tag() { + TAG=$1 ips_file=tags/$TAG/ips.txt info "Picking a random IP address in $ips_file to run tests." n=$((1 + $RANDOM % $(wc -l <$ips_file)))