| Anthony Young | 7f91d5e | 2011-11-11 09:49:47 -0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | set -o errexit |
| 3 | set -o xtrace |
| 4 | |
| 5 | |
| 6 | EXECUTOR_NUMBER=$1 |
| 7 | CONFIGURATION=$2 |
| 8 | ADAPTER=$3 |
| 9 | RC=$4 |
| 10 | |
| 11 | function usage() { |
| 12 | echo "Usage: $0 - Build a test configuration" |
| 13 | echo "" |
| 14 | echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION] [ADAPTER] [RC (optional)]" |
| 15 | exit 1 |
| 16 | } |
| 17 | |
| 18 | # Validate inputs |
| 19 | if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" || "$ADAPTER" = "" ]]; then |
| 20 | usage |
| 21 | fi |
| 22 | |
| 23 | # Configuration of xenrc |
| 24 | XENRC=/var/lib/jenkins/xenrc |
| 25 | if [ ! -e $XENRC ]; then |
| 26 | echo "/var/lib/jenkins/xenrc is not present! See README.md" |
| 27 | exit 1 |
| 28 | fi |
| 29 | |
| 30 | # Move to top of devstack |
| Anthony Young | ad03786 | 2011-11-11 09:53:22 -0800 | [diff] [blame] | 31 | cd ../../.. |
| Anthony Young | 7f91d5e | 2011-11-11 09:49:47 -0800 | [diff] [blame] | 32 | |
| 33 | # Use xenrc as the start of our localrc |
| 34 | cp $XENRC localrc |
| 35 | |
| 36 | # Set the PUB_IP |
| 37 | PUB_IP=192.168.1.1$EXECUTOR_NUMBER |
| 38 | echo "PUB_IP=$PUB_IP" >> localrc |
| 39 | |
| 40 | # Overrides |
| 41 | echo "$RC" >> localrc |
| 42 | |
| 43 | # Source localrc |
| 44 | . localrc |
| 45 | |
| 46 | # Make host ip available to tester |
| 47 | echo "HEAD=$PUB_IP" > addresses |
| 48 | |
| 49 | # Build configuration |
| 50 | REMOTE_DEVSTACK=/root/devstack |
| 51 | ssh root@$XEN_IP "rm -rf $REMOTE_DEVSTACK" |
| 52 | scp -pr . root@$XEN_IP:$REMOTE_DEVSTACK |
| 53 | ssh root@$XEN_IP "cd $REMOTE_DEVSTACK/tools/xen && ./build_domU.sh" |