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

# Configuration of xenrc
XENRC=/var/lib/jenkins/xenrc
if [ ! -e $XENRC ]; then
    echo "/var/lib/jenkins/xenrc is not present! See README.md"
    exit 1
fi

# Move to top of devstack
cd ../../..

# Use xenrc as the start of our localrc
cp $XENRC localrc

# Set the PUB_IP
PUB_IP=192.168.1.1$EXECUTOR_NUMBER
echo "PUB_IP=$PUB_IP" >> localrc

# Overrides
echo "$RC" >> localrc

# Source localrc
. localrc

# Make host ip available to tester
echo "HEAD=$PUB_IP" > addresses

# Build configuration
REMOTE_DEVSTACK=/root/devstack
ssh root@$XEN_IP "rm -rf $REMOTE_DEVSTACK"
scp -pr . root@$XEN_IP:$REMOTE_DEVSTACK
ssh root@$XEN_IP "cd $REMOTE_DEVSTACK/tools/xen && ./build_domU.sh"