You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.4 KiB
Bash

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