#!/bin/bash # exit on error to stop unexpected errors set -o errexit set -o xtrace EXECUTOR_NUMBER=$1 CONFIGURATION=$2 ADAPTER=$3 RC=$4 function usage() { echo "Usage: $0 - Build a test configuration" echo "" echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION] [ADAPTER] [RC (optional)]" exit 1 } # Validate inputs if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" || "$ADAPTER" = "" ]]; then usage fi # This directory CUR_DIR=$(cd $(dirname "$0") && pwd) # devstack directory cd ../../.. TOP_DIR=$(pwd) # Deps apt-get install -y --force-yes libvirt-bin || true # Name test instance based on executor BASE_NAME=executor-`printf "%02d" $EXECUTOR_NUMBER` GUEST_NAME=$BASE_NAME.$ADAPTER virsh list | grep $BASE_NAME | cut -d " " -f1 | xargs -n 1 virsh destroy || true virsh net-list | grep $BASE_NAME | cut -d " " -f1 | xargs -n 1 virsh net-destroy || true # Configure localrc cat <localrc RECLONE=yes GUEST_NETWORK=$EXECUTOR_NUMBER GUEST_NAME=$GUEST_NAME FLOATING_RANGE=192.168.$EXECUTOR_NUMBER.128/27 GUEST_CORES=1 GUEST_RAM=12574720 MYSQL_PASSWORD=chicken RABBIT_PASSWORD=chicken SERVICE_TOKEN=chicken ADMIN_PASSWORD=chicken USERNAME=admin TENANT=admin NET_NAME=$BASE_NAME ACTIVE_TIMEOUT=45 BOOT_TIMEOUT=45 $RC EOF cd tools sudo ./build_uec.sh # Make the address of the instances available to test runners echo HEAD=`cat /var/lib/libvirt/dnsmasq/$BASE_NAME.leases | cut -d " " -f3` > $TOP_DIR/addresses