#!/bin/bash set -eu -o pipefail # Get the Debian 10 (buster) OpenStack cloud image. We use it as a # base image for creating the VMs we need. url="https://cloud.debian.org/images/cloud/OpenStack/current-10/debian-10-openstack-amd64.qcow2" image=debian-10-openstack-amd64.qcow2 if [ ! -e "files/$image" ] then echo "Download Debian cloud image (only happens on first run)" wget -q -c -O "files/$image" "$url" fi # git does not preserve file modes properly, so set the permissions of # the SSH keys we're using so the the SSH client is happy. chmod 600 ssh/ed25519* echo "Provision outer VM" chronic ansible-playbook -i hosts playbook.yml echo "Create and provision the inner VMs" ssh -F ssh/config puomi@puomienv ./setup-inner.sh # Disable network forwarding in outer VM. This can't be done until the # inner VMs are provisioned, or they can't install anything. ssh debian@puomienv sudo sysctl -w net.ipv4.ip_forward=0 echo "Finished; the router test environment is ready for use"