#!/bin/bash NUM_RUNNERS=20 NUM_BUILDERS=3 RUNNER_PREFIX="$(hostname)-runner-" BUILDER_PREFIX="$(hostname)-builder-" SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) export VAGRANT_HOME=${SCRIPT_DIR} param="up" if [[ $# -ge 1 ]]; then param=$1 if [[ "${param}" != "destroy" ]] && [[ "${param}" != "shutdown" ]]; then echo "Only valid parameters are 'destroy' and 'shutdown' to destroy all VMs or shutdown all VMs" exit 1 fi fi for (( i=1; i<=NUM_RUNNERS; i++ )); do sed -i "s/ config.vm.define.*/ config.vm.define \"${RUNNER_PREFIX}${i}\"/g" Vagrantfile-runner sed -i "s/ config.vm.hostname.*/ config.vm.hostname = \"${RUNNER_PREFIX}${i}\"/g" Vagrantfile-runner if [[ "${param}" == "destroy" ]]; then VAGRANT_VAGRANTFILE=Vagrantfile-runner vagrant destroy -f elif [[ "${param}" == "shutdown" ]]; then VAGRANT_VAGRANTFILE=Vagrantfile-runner vagrant halt -f else VAGRANT_VAGRANTFILE=Vagrantfile-runner vagrant up --provider=libvirt fi done for (( i=1; i<=NUM_BUILDERS; i++ )); do sed -i "s/ config.vm.define.*/ config.vm.define \"${BUILDER_PREFIX}${i}\"/g" Vagrantfile-builder sed -i "s/ config.vm.hostname.*/ config.vm.hostname = \"${BUILDER_PREFIX}${i}\"/g" Vagrantfile-builder if [[ "${param}" == "destroy" ]]; then VAGRANT_VAGRANTFILE=Vagrantfile-builder vagrant destroy -f elif [[ "${param}" == "shutdown" ]]; then VAGRANT_VAGRANTFILE=Vagrantfile-builder vagrant halt -f else VAGRANT_VAGRANTFILE=Vagrantfile-builder vagrant up --provider=libvirt fi done