| #!/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 <<EOF >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 |