diff --git a/tools/jenkins/configurations/xs.sh b/tools/jenkins/configurations/xs.sh new file mode 100644 index 0000000..cfcf0f8 --- /dev/null +++ b/tools/jenkins/configurations/xs.sh @@ -0,0 +1,53 @@ +#!/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"