From 43acae4aa51ab66d522d83568a7e9271be7e65f7 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Tue, 8 Nov 2011 14:23:56 -0800 Subject: [PATCH 01/48] add initial build_jenkins script --- tools/jenkins/build_jenkins.sh | 69 ++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 tools/jenkins/build_jenkins.sh diff --git a/tools/jenkins/build_jenkins.sh b/tools/jenkins/build_jenkins.sh new file mode 100755 index 0000000..a20872d --- /dev/null +++ b/tools/jenkins/build_jenkins.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +# Echo commands, exit on error +set -o xtrace +set -o errexit + +# Make sure only root can run our script +if [[ $EUID -ne 0 ]]; then + echo "This script must be run as root" + exit 1 +fi + +# This directory +CUR_DIR=$(cd $(dirname "$0") && pwd) + +# Install software +DEPS="jenkins" +apt-get install -y --force-yes $DEPS + +# Install jenkins +if [ ! -e /var/lib/jenkins ]; then + echo "Jenkins installation failed" + exit 1 +fi + +# Setup sudo +JENKINS_SUDO=/etc/sudoers.d/jenkins +cat > $JENKINS_SUDO < $JENKINS_GITCONF < + + 4 + Jenkins + jenkins@rcb.me + +EOF + +# Set ownership to jenkins +chown -R jenkins $CUR_DIR + +# Set up jobs symlink +if [ ! -h /var/lib/jenkins/jobs ]; then + echo "Installing jobs symlink" + if [ -d /var/lib/jenkins/jobs ]; then + mv /var/lib/jenkins/jobs /var/lib/jenkins/jobs.old + fi + ln -s $CUR_DIR/jobs /var/lib/jenkins/jobs +fi + +# List of plugins +PLUGINS=http://hudson-ci.org/downloads/plugins/build-timeout/1.6/build-timeout.hpi,http://mirrors.jenkins-ci.org/plugins/git/1.1.12/git.hpi,http://hudson-ci.org/downloads/plugins/global-build-stats/1.2/global-build-stats.hpi,http://hudson-ci.org/downloads/plugins/greenballs/1.10/greenballs.hpi,http://download.hudson-labs.org/plugins/console-column-plugin/1.0/console-column-plugin.hpi + +# Configure plugins +for plugin in ${PLUGINS//,/ }; do + name=`basename $plugin` + dest=/var/lib/jenkins/plugins/$name + if [ ! -e $dest ]; then + curl -L $plugin -o $dest + fi +done + +# Restart jenkins +restart jenkins From ccd4ea37b80e9e6018ccf294d680a5d8e34100b5 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Tue, 8 Nov 2011 17:25:12 -0600 Subject: [PATCH 02/48] more work on jenkins stuff --- tools/jenkins/README.md | 17 +++++++++ tools/jenkins/adapters/euca.sh | 3 ++ tools/jenkins/adapters/floating.sh | 3 ++ tools/jenkins/build_configuration.sh | 19 ++++++++++ tools/jenkins/configurations/kvm.sh | 45 +++++++++++++++++++++++ tools/jenkins/{ => home}/build_jenkins.sh | 0 tools/jenkins/run_test.sh | 19 ++++++++++ 7 files changed, 106 insertions(+) create mode 100644 tools/jenkins/README.md create mode 100755 tools/jenkins/adapters/euca.sh create mode 100755 tools/jenkins/adapters/floating.sh create mode 100755 tools/jenkins/build_configuration.sh create mode 100755 tools/jenkins/configurations/kvm.sh rename tools/jenkins/{ => home}/build_jenkins.sh (100%) create mode 100755 tools/jenkins/run_test.sh diff --git a/tools/jenkins/README.md b/tools/jenkins/README.md new file mode 100644 index 0000000..74237f8 --- /dev/null +++ b/tools/jenkins/README.md @@ -0,0 +1,17 @@ +Getting Started With Jenkins and Devstack +========================================= +This little corner of devstack is to show how to get an Openstack jenkins +environment up and running quickly, using the rcb configuration methodology. + + +To manually set up a testing environment +---------------------------------------- + ./build_configuration.sh [EXECUTOR_NUMBER] [CONFIGURATION] + +For now, use "./build_configuration.sh $EXECUTOR_NUMBER kvm" + +To manually run a test +---------------------- + ./run_test.sh [EXECUTOR_NUMBER] [ADAPTER] + +For now, use "./run_test.sh $EXECUTOR_NUMBER [euca|floating]" diff --git a/tools/jenkins/adapters/euca.sh b/tools/jenkins/adapters/euca.sh new file mode 100755 index 0000000..3cd9710 --- /dev/null +++ b/tools/jenkins/adapters/euca.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "$0 SUCCESS!" diff --git a/tools/jenkins/adapters/floating.sh b/tools/jenkins/adapters/floating.sh new file mode 100755 index 0000000..3cd9710 --- /dev/null +++ b/tools/jenkins/adapters/floating.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "$0 SUCCESS!" diff --git a/tools/jenkins/build_configuration.sh b/tools/jenkins/build_configuration.sh new file mode 100755 index 0000000..70babb6 --- /dev/null +++ b/tools/jenkins/build_configuration.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +EXECUTOR_NUMBER=$1 +CONFIGURATION=$2 + +function usage() { + echo "Usage: $0 - Build a configuration" + echo "" + echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION]" + exit 1 +} + +# Validate inputs +if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" ]]; then + usage +fi + +# Execute configuration script +cd configurations && ./$CONFIGURATION.sh $EXECUTOR_NUMBER $CONFIGURATION diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh new file mode 100755 index 0000000..af51d55 --- /dev/null +++ b/tools/jenkins/configurations/kvm.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +EXECUTOR_NUMBER=$1 +CONFIGURATION=$2 + +function usage() { + echo "Usage: $0 - Build a test configuration" + echo "" + echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION]" + exit 1 +} + +# Validate inputs +if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" ]]; then + usage +fi + +# This directory +CUR_DIR=$(cd $(dirname "$0") && pwd) + +# devstack directory +cd ../../.. +TOP_DIR=(pwd) + +# Name test instance based on executor +NAME=executor-$EXECUTOR_NUMBER +virsh destroy `virsh list | grep $NAME | cut -d " " -f1` || true + +# Configure localrc +cat <localrc +RECLONE=yes +GUEST_NETWORK=$EXECUTOR_NUMBER +GUEST_NAME=$NAME +FLOATING_RANGE=192.168.$EXECUTOR_NUMBER.128/27 +GUEST_CORES=4 +GUEST_RAM=10000000 +MYSQL_PASSWORD=chicken +RABBIT_PASSWORD=chicken +SERVICE_TOKEN=chicken +ADMIN_PASSWORD=chicken +USERNAME=admin +TENANT=admin +EOF +cd tools +sudo ./build_uec.sh diff --git a/tools/jenkins/build_jenkins.sh b/tools/jenkins/home/build_jenkins.sh similarity index 100% rename from tools/jenkins/build_jenkins.sh rename to tools/jenkins/home/build_jenkins.sh diff --git a/tools/jenkins/run_test.sh b/tools/jenkins/run_test.sh new file mode 100755 index 0000000..cf09cd5 --- /dev/null +++ b/tools/jenkins/run_test.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +EXECUTOR_NUMBER=$1 +ADAPTER=$2 + +function usage() { + echo "Usage: $0 - Run a test" + echo "" + echo "$0 [EXECUTOR_NUMBER] [ADAPTER]" + exit 1 +} + +# Validate inputs +if [[ "$EXECUTOR_NUMBER" = "" || "$ADAPTER" = "" ]]; then + usage +fi + +# Execute configuration script +cd adapters && ./$ADAPTER.sh $EXECUTOR_NUMBER $ADAPTER From 4aab9030f4c251382d2e9b8abd4da2276642d97d Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Tue, 8 Nov 2011 16:20:14 -0800 Subject: [PATCH 03/48] rename --- tools/jenkins/adapters/{floating.sh => floating_ips.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tools/jenkins/adapters/{floating.sh => floating_ips.sh} (100%) diff --git a/tools/jenkins/adapters/floating.sh b/tools/jenkins/adapters/floating_ips.sh similarity index 100% rename from tools/jenkins/adapters/floating.sh rename to tools/jenkins/adapters/floating_ips.sh From 2b2c86ef34b335695198b49ca6450d8e78f7fe7a Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Tue, 8 Nov 2011 16:21:35 -0800 Subject: [PATCH 04/48] add in kvm job --- tools/jenkins/home/.gitignore | 3 + tools/jenkins/home/jobs/kvm/config.xml | 72 +++++++++++++++++++ .../axis-ADAPTER/euca/config.xml | 15 ++++ .../axis-ADAPTER/floatingips/config.xml | 15 ++++ tools/jenkins/home/jobs/kvm/nextBuildNumber | 1 + 5 files changed, 106 insertions(+) create mode 100644 tools/jenkins/home/.gitignore create mode 100644 tools/jenkins/home/jobs/kvm/config.xml create mode 100644 tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml create mode 100644 tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml create mode 100644 tools/jenkins/home/jobs/kvm/nextBuildNumber diff --git a/tools/jenkins/home/.gitignore b/tools/jenkins/home/.gitignore new file mode 100644 index 0000000..d831d01 --- /dev/null +++ b/tools/jenkins/home/.gitignore @@ -0,0 +1,3 @@ +builds +workspace +*.sw* diff --git a/tools/jenkins/home/jobs/kvm/config.xml b/tools/jenkins/home/jobs/kvm/config.xml new file mode 100644 index 0000000..ccf0541 --- /dev/null +++ b/tools/jenkins/home/jobs/kvm/config.xml @@ -0,0 +1,72 @@ + + + + + false + + + 2 + + + origin + +refs/heads/*:refs/remotes/origin/* + git://github.com/cloudbuilders/devstack.git + + + + + jenkins + + + false + false + false + false + false + false + false + + Default + + + + + + + false + + + true + false + false + false + + false + + + ADAPTER + + euca + floatingips + + + + + + sed -i 's/) 2>&1 | tee "${LOGFILE}"/)/' stack.sh + + + set -o errexit +cd tools/jenkins +sudo ./build_configuration.sh $EXECUTOR_NUMBER kvm + + + set -o errexit +cd tools/jenkins +sudo ./run_test.sh $EXECUTOR_NUMBER $ADAPTER + + + + + false + \ No newline at end of file diff --git a/tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml b/tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml new file mode 100644 index 0000000..0be70a5 --- /dev/null +++ b/tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml @@ -0,0 +1,15 @@ + + + false + + + false + false + false + false + + false + + + + \ No newline at end of file diff --git a/tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml b/tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml new file mode 100644 index 0000000..0be70a5 --- /dev/null +++ b/tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml @@ -0,0 +1,15 @@ + + + false + + + false + false + false + false + + false + + + + \ No newline at end of file diff --git a/tools/jenkins/home/jobs/kvm/nextBuildNumber b/tools/jenkins/home/jobs/kvm/nextBuildNumber new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tools/jenkins/home/jobs/kvm/nextBuildNumber @@ -0,0 +1 @@ +1 From 79a20a01df3f698530e868173e6791196b428ff7 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 11:00:26 -0800 Subject: [PATCH 05/48] rename jenkins home --- tools/jenkins/{home => jenkins_home}/.gitignore | 0 tools/jenkins/{home => jenkins_home}/build_jenkins.sh | 0 tools/jenkins/{home => jenkins_home}/jobs/kvm/config.xml | 0 .../jobs/kvm/configurations/axis-ADAPTER/euca/config.xml | 0 .../jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml | 0 tools/jenkins/{home => jenkins_home}/jobs/kvm/nextBuildNumber | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename tools/jenkins/{home => jenkins_home}/.gitignore (100%) rename tools/jenkins/{home => jenkins_home}/build_jenkins.sh (100%) rename tools/jenkins/{home => jenkins_home}/jobs/kvm/config.xml (100%) rename tools/jenkins/{home => jenkins_home}/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml (100%) rename tools/jenkins/{home => jenkins_home}/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml (100%) rename tools/jenkins/{home => jenkins_home}/jobs/kvm/nextBuildNumber (100%) diff --git a/tools/jenkins/home/.gitignore b/tools/jenkins/jenkins_home/.gitignore similarity index 100% rename from tools/jenkins/home/.gitignore rename to tools/jenkins/jenkins_home/.gitignore diff --git a/tools/jenkins/home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh similarity index 100% rename from tools/jenkins/home/build_jenkins.sh rename to tools/jenkins/jenkins_home/build_jenkins.sh diff --git a/tools/jenkins/home/jobs/kvm/config.xml b/tools/jenkins/jenkins_home/jobs/kvm/config.xml similarity index 100% rename from tools/jenkins/home/jobs/kvm/config.xml rename to tools/jenkins/jenkins_home/jobs/kvm/config.xml diff --git a/tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml b/tools/jenkins/jenkins_home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml similarity index 100% rename from tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml rename to tools/jenkins/jenkins_home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml diff --git a/tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml b/tools/jenkins/jenkins_home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml similarity index 100% rename from tools/jenkins/home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml rename to tools/jenkins/jenkins_home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml diff --git a/tools/jenkins/home/jobs/kvm/nextBuildNumber b/tools/jenkins/jenkins_home/jobs/kvm/nextBuildNumber similarity index 100% rename from tools/jenkins/home/jobs/kvm/nextBuildNumber rename to tools/jenkins/jenkins_home/jobs/kvm/nextBuildNumber From 316117a5a2c4cd5af5487019d5dcc554c1ab7fb7 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 11:10:26 -0800 Subject: [PATCH 06/48] more usability feedback --- tools/jenkins/jenkins_home/build_jenkins.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index a20872d..e71e9e0 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -44,6 +44,14 @@ EOF # Set ownership to jenkins chown -R jenkins $CUR_DIR +# Make sure this directory is accessible to jenkins +if ! su -c "ls $CUR_DIR" jenkins; then + echo "Your devstack directory is not accessible by jenkins." + echo "There is a decent chance you are trying to run this from a directory in /root." + echo "If so, try moving devstack elsewhere (eg. /opt/devstack)." + exit 1 +fi + # Set up jobs symlink if [ ! -h /var/lib/jenkins/jobs ]; then echo "Installing jobs symlink" From 48336d0e9f04d49879d669c30fc0b4255dd63387 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 11:12:14 -0800 Subject: [PATCH 07/48] always update the jobs link --- tools/jenkins/jenkins_home/build_jenkins.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index e71e9e0..fba2500 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -52,15 +52,18 @@ if ! su -c "ls $CUR_DIR" jenkins; then exit 1 fi -# Set up jobs symlink +# Move aside old jobs, if present if [ ! -h /var/lib/jenkins/jobs ]; then echo "Installing jobs symlink" if [ -d /var/lib/jenkins/jobs ]; then mv /var/lib/jenkins/jobs /var/lib/jenkins/jobs.old fi - ln -s $CUR_DIR/jobs /var/lib/jenkins/jobs fi +# Set up jobs symlink +rm -f /var/lib/jenkins/jobs +ln -s $CUR_DIR/jobs /var/lib/jenkins/jobs + # List of plugins PLUGINS=http://hudson-ci.org/downloads/plugins/build-timeout/1.6/build-timeout.hpi,http://mirrors.jenkins-ci.org/plugins/git/1.1.12/git.hpi,http://hudson-ci.org/downloads/plugins/global-build-stats/1.2/global-build-stats.hpi,http://hudson-ci.org/downloads/plugins/greenballs/1.10/greenballs.hpi,http://download.hudson-labs.org/plugins/console-column-plugin/1.0/console-column-plugin.hpi From c18af14af886b2bf1d93c1595e41e734e5904006 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 12:20:37 -0800 Subject: [PATCH 08/48] progress on out-of-box testing --- tools/jenkins/configurations/kvm.sh | 2 +- tools/jenkins/jenkins_home/build_jenkins.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index af51d55..0e239d2 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -33,7 +33,7 @@ GUEST_NETWORK=$EXECUTOR_NUMBER GUEST_NAME=$NAME FLOATING_RANGE=192.168.$EXECUTOR_NUMBER.128/27 GUEST_CORES=4 -GUEST_RAM=10000000 +GUEST_RAM=1000000 MYSQL_PASSWORD=chicken RABBIT_PASSWORD=chicken SERVICE_TOKEN=chicken diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index fba2500..bd17f1c 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -14,7 +14,7 @@ fi CUR_DIR=$(cd $(dirname "$0") && pwd) # Install software -DEPS="jenkins" +DEPS="jenkins cloud-utils" apt-get install -y --force-yes $DEPS # Install jenkins From ec67f1e0644c74a6c6beb7bb42b56f8ce68ab24c Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 17:46:28 -0800 Subject: [PATCH 09/48] more progress on jenkins on clean build --- tools/jenkins/jenkins_home/build_jenkins.sh | 7 +++++++ tools/jenkins/jenkins_home/jobs/kvm/config.xml | 4 ++-- tools/jenkins/jenkins_home/jobs/kvm/nextBuildNumber | 1 - 3 files changed, 9 insertions(+), 3 deletions(-) delete mode 100644 tools/jenkins/jenkins_home/jobs/kvm/nextBuildNumber diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index bd17f1c..bbba8b0 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -41,6 +41,13 @@ cat > $JENKINS_GITCONF < EOF +# Add build numbers +for job in ${`ls jobs`// / }; do + if [ ! -e jobs/$job/nextBuildNumber ]; then + echo 1 > jobs/$job/nextBuildNumber + fi +done + # Set ownership to jenkins chown -R jenkins $CUR_DIR diff --git a/tools/jenkins/jenkins_home/jobs/kvm/config.xml b/tools/jenkins/jenkins_home/jobs/kvm/config.xml index ccf0541..453044b 100644 --- a/tools/jenkins/jenkins_home/jobs/kvm/config.xml +++ b/tools/jenkins/jenkins_home/jobs/kvm/config.xml @@ -47,7 +47,7 @@ ADAPTER euca - floatingips + floating_ips @@ -69,4 +69,4 @@ sudo ./run_test.sh $EXECUTOR_NUMBER $ADAPTER false - \ No newline at end of file + diff --git a/tools/jenkins/jenkins_home/jobs/kvm/nextBuildNumber b/tools/jenkins/jenkins_home/jobs/kvm/nextBuildNumber deleted file mode 100644 index d00491f..0000000 --- a/tools/jenkins/jenkins_home/jobs/kvm/nextBuildNumber +++ /dev/null @@ -1 +0,0 @@ -1 From 4c012b207c3ee5318c1c1d8d798bbaa6b7ba5287 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 18:49:47 -0800 Subject: [PATCH 10/48] remove newline --- tools/jenkins/jenkins_home/jobs/kvm/config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/jenkins/jenkins_home/jobs/kvm/config.xml b/tools/jenkins/jenkins_home/jobs/kvm/config.xml index 453044b..02efbc9 100644 --- a/tools/jenkins/jenkins_home/jobs/kvm/config.xml +++ b/tools/jenkins/jenkins_home/jobs/kvm/config.xml @@ -69,4 +69,4 @@ sudo ./run_test.sh $EXECUTOR_NUMBER $ADAPTER false - + \ No newline at end of file From 6ecc4f2839583bae69c01c9b12cb585a7397f2d4 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 22:38:48 -0800 Subject: [PATCH 11/48] changes to improve debugability - more legible instance name --- tools/jenkins/configurations/kvm.sh | 13 ++++++++----- tools/jenkins/jenkins_home/jobs/kvm/config.xml | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index 0e239d2..7239e4d 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -2,16 +2,17 @@ EXECUTOR_NUMBER=$1 CONFIGURATION=$2 +ADAPTER=$3 function usage() { echo "Usage: $0 - Build a test configuration" echo "" - echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION]" + echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION] [ADAPTER]" exit 1 } # Validate inputs -if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" ]]; then +if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" || "$ADAPTER" = ""]]; then usage fi @@ -23,14 +24,16 @@ cd ../../.. TOP_DIR=(pwd) # Name test instance based on executor -NAME=executor-$EXECUTOR_NUMBER -virsh destroy `virsh list | grep $NAME | cut -d " " -f1` || true +BASE_NAME=executor-`printf "%02d" $EXECUTOR_NUMBER` +GUEST_NAME=$BASE_NAME.$ADAPTER +virsh destroy `virsh list | grep $BASE_NAME | cut -d " " -f1` || true +rm -f /var/lib/libvirt/dnsmasq/$BASE_NAME*.leases # Configure localrc cat <localrc RECLONE=yes GUEST_NETWORK=$EXECUTOR_NUMBER -GUEST_NAME=$NAME +GUEST_NAME=$GUEST_NAME FLOATING_RANGE=192.168.$EXECUTOR_NUMBER.128/27 GUEST_CORES=4 GUEST_RAM=1000000 diff --git a/tools/jenkins/jenkins_home/jobs/kvm/config.xml b/tools/jenkins/jenkins_home/jobs/kvm/config.xml index 02efbc9..32ce768 100644 --- a/tools/jenkins/jenkins_home/jobs/kvm/config.xml +++ b/tools/jenkins/jenkins_home/jobs/kvm/config.xml @@ -58,7 +58,7 @@ set -o errexit cd tools/jenkins -sudo ./build_configuration.sh $EXECUTOR_NUMBER kvm +sudo ./build_configuration.sh $EXECUTOR_NUMBER kvm $ADAPTER set -o errexit From 0ae5fd039b4504f37195c831d9dbf4dcbec436c3 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 22:39:56 -0800 Subject: [PATCH 12/48] missing space --- tools/jenkins/configurations/kvm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index 7239e4d..2c52f64 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -12,7 +12,7 @@ function usage() { } # Validate inputs -if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" || "$ADAPTER" = ""]]; then +if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" || "$ADAPTER" = "" ]]; then usage fi From 792b1165a4ce0d1851603e2a7b8b9126b15da8e8 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 22:40:49 -0800 Subject: [PATCH 13/48] update builder interface --- tools/jenkins/build_configuration.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/jenkins/build_configuration.sh b/tools/jenkins/build_configuration.sh index 70babb6..cab133d 100755 --- a/tools/jenkins/build_configuration.sh +++ b/tools/jenkins/build_configuration.sh @@ -2,11 +2,12 @@ EXECUTOR_NUMBER=$1 CONFIGURATION=$2 +ADAPTER=$3 function usage() { echo "Usage: $0 - Build a configuration" echo "" - echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION]" + echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION] [ADAPTER]" exit 1 } @@ -16,4 +17,4 @@ if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" ]]; then fi # Execute configuration script -cd configurations && ./$CONFIGURATION.sh $EXECUTOR_NUMBER $CONFIGURATION +cd configurations && ./$CONFIGURATION.sh $EXECUTOR_NUMBER $CONFIGURATION $ADAPTER From 8b47cdf15ac0c0611503f688df376faf36172e43 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 23:36:18 -0800 Subject: [PATCH 14/48] working to improve debugability --- tools/build_uec.sh | 7 ++++--- tools/jenkins/configurations/kvm.sh | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 6bab526..33a6a27 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -90,9 +90,10 @@ GUEST_CORES=${GUEST_CORES:-1} # libvirt.xml configuration NET_XML=$vm_dir/net.xml +NET_NAME=${NET_NAME:-devstack-$GUEST_NETWORK} cat > $NET_XML < - devstack-$GUEST_NETWORK + $NET_NAME @@ -104,9 +105,9 @@ cat > $NET_XML <localrc @@ -43,6 +42,7 @@ SERVICE_TOKEN=chicken ADMIN_PASSWORD=chicken USERNAME=admin TENANT=admin +NET_NAME=$GUEST_NAME EOF cd tools sudo ./build_uec.sh From 72eab2276e264bc40417df7d1f16d8c0111cf8a2 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Wed, 9 Nov 2011 23:38:18 -0800 Subject: [PATCH 15/48] fix network name in libvirt.xml --- tools/build_uec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 33a6a27..ad35b2a 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -135,7 +135,7 @@ cat > $LIBVIRT_XML < - + From ec38c40a4dc70206e4cf7a4e43362e986555df42 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 09:42:28 -0800 Subject: [PATCH 16/48] do an explicit stop/start --- tools/jenkins/jenkins_home/build_jenkins.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index bbba8b0..abbdfd1 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -84,4 +84,5 @@ for plugin in ${PLUGINS//,/ }; do done # Restart jenkins -restart jenkins +stop jenkins || true +start jenkins From 5df681819ab58413a7c65d147bb9e4e8c72adcf9 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 09:56:12 -0800 Subject: [PATCH 17/48] fix typo in job iteration --- tools/jenkins/jenkins_home/build_jenkins.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index abbdfd1..567a056 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -42,7 +42,8 @@ cat > $JENKINS_GITCONF < jobs/$job/nextBuildNumber fi From 484dd5512575069a22f81d48ef9ca7b55178943e Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 10:24:18 -0800 Subject: [PATCH 18/48] switch around naming scheme --- tools/jenkins/jenkins_home/jobs/{kvm => diablo-kvm_ha}/config.xml | 0 .../configurations/axis-ADAPTER/euca/config.xml | 0 .../configurations/axis-ADAPTER/floatingips/config.xml | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename tools/jenkins/jenkins_home/jobs/{kvm => diablo-kvm_ha}/config.xml (100%) rename tools/jenkins/jenkins_home/jobs/{kvm => diablo-kvm_ha}/configurations/axis-ADAPTER/euca/config.xml (100%) rename tools/jenkins/jenkins_home/jobs/{kvm => diablo-kvm_ha}/configurations/axis-ADAPTER/floatingips/config.xml (100%) diff --git a/tools/jenkins/jenkins_home/jobs/kvm/config.xml b/tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/config.xml similarity index 100% rename from tools/jenkins/jenkins_home/jobs/kvm/config.xml rename to tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/config.xml diff --git a/tools/jenkins/jenkins_home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml b/tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/configurations/axis-ADAPTER/euca/config.xml similarity index 100% rename from tools/jenkins/jenkins_home/jobs/kvm/configurations/axis-ADAPTER/euca/config.xml rename to tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/configurations/axis-ADAPTER/euca/config.xml diff --git a/tools/jenkins/jenkins_home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml b/tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/configurations/axis-ADAPTER/floatingips/config.xml similarity index 100% rename from tools/jenkins/jenkins_home/jobs/kvm/configurations/axis-ADAPTER/floatingips/config.xml rename to tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/configurations/axis-ADAPTER/floatingips/config.xml From dbcdf90df180f0505ed724fa6b6f3914d74875e5 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 11:14:16 -0800 Subject: [PATCH 19/48] clean up for executor on each run --- tools/jenkins/configurations/kvm.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index e4c4bc5..9dfabfa 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -26,7 +26,8 @@ TOP_DIR=(pwd) # Name test instance based on executor BASE_NAME=executor-`printf "%02d" $EXECUTOR_NUMBER` GUEST_NAME=$BASE_NAME.$ADAPTER -virsh destroy `virsh list | grep $BASE_NAME | cut -d " " -f1` || true +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 <localrc From ea1a5869fd6ef897ed92223e3d5cca5200a2cfd4 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 11:27:51 -0800 Subject: [PATCH 20/48] net name should be base --- tools/jenkins/configurations/kvm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index 9dfabfa..d7b12b4 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -43,7 +43,7 @@ SERVICE_TOKEN=chicken ADMIN_PASSWORD=chicken USERNAME=admin TENANT=admin -NET_NAME=$GUEST_NAME +NET_NAME=$BASE_NAME EOF cd tools sudo ./build_uec.sh From 053906d137822f8c3c7f7686879648ecdab0aee4 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 11:38:09 -0800 Subject: [PATCH 21/48] add in rc --- tools/jenkins/build_configuration.sh | 7 ++++--- tools/jenkins/configurations/kvm.sh | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/jenkins/build_configuration.sh b/tools/jenkins/build_configuration.sh index cab133d..e295ef2 100755 --- a/tools/jenkins/build_configuration.sh +++ b/tools/jenkins/build_configuration.sh @@ -3,18 +3,19 @@ EXECUTOR_NUMBER=$1 CONFIGURATION=$2 ADAPTER=$3 +RC=$4 function usage() { echo "Usage: $0 - Build a configuration" echo "" - echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION] [ADAPTER]" + echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION] [ADAPTER] [RC (optional)]" exit 1 } # Validate inputs -if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" ]]; then +if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" || "$ADAPTER" = "" ]]; then usage fi # Execute configuration script -cd configurations && ./$CONFIGURATION.sh $EXECUTOR_NUMBER $CONFIGURATION $ADAPTER +cd configurations && ./$CONFIGURATION.sh $EXECUTOR_NUMBER $CONFIGURATION $ADAPTER "$RC" diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index d7b12b4..7c641d2 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -3,11 +3,12 @@ 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]" + echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION] [ADAPTER] [RC (optional)]" exit 1 } @@ -44,6 +45,7 @@ ADMIN_PASSWORD=chicken USERNAME=admin TENANT=admin NET_NAME=$BASE_NAME +$RC EOF cd tools sudo ./build_uec.sh From 63f84bbfb60fca96a2412009f4e81c9c548afb0d Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 11:43:41 -0800 Subject: [PATCH 22/48] pass rc to tests --- tools/jenkins/run_test.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/jenkins/run_test.sh b/tools/jenkins/run_test.sh index cf09cd5..4649563 100755 --- a/tools/jenkins/run_test.sh +++ b/tools/jenkins/run_test.sh @@ -2,11 +2,12 @@ EXECUTOR_NUMBER=$1 ADAPTER=$2 +RC=$3 function usage() { echo "Usage: $0 - Run a test" echo "" - echo "$0 [EXECUTOR_NUMBER] [ADAPTER]" + echo "$0 [EXECUTOR_NUMBER] [ADAPTER] [RC (optional)]" exit 1 } @@ -16,4 +17,4 @@ if [[ "$EXECUTOR_NUMBER" = "" || "$ADAPTER" = "" ]]; then fi # Execute configuration script -cd adapters && ./$ADAPTER.sh $EXECUTOR_NUMBER $ADAPTER +cd adapters && ./$ADAPTER.sh $EXECUTOR_NUMBER $ADAPTER "$RC" From a4e6d13656dae54d419f7dd94763e7775f1572e3 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 11:55:29 -0800 Subject: [PATCH 23/48] add clean script --- tools/jenkins/jenkins_home/clean.sh | 21 +++++++++++++++++++ .../jobs/diablo-kvm_ha/config.xml | 16 +++++++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100755 tools/jenkins/jenkins_home/clean.sh diff --git a/tools/jenkins/jenkins_home/clean.sh b/tools/jenkins/jenkins_home/clean.sh new file mode 100755 index 0000000..f92e0d2 --- /dev/null +++ b/tools/jenkins/jenkins_home/clean.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# This script is not yet for general consumption. + +set -o errexit + +if [ ! "$FORCE" = 1 ]; then + echo "FORCE not set to 1. Make sure this is something you really want to do. Exiting." + exit 1 +fi + +exit +virsh list | cut -d " " -f1 | grep -v "-" | egrep -e "[0-9]" | xargs -n 1 virsh destroy || true +virsh net-list | grep active | cut -d " " -f1 | xargs -n 1 virsh net-destroy || true +killall dnsmasq +rm -rf jobs +rm /var/lib/jenkins/jobs +git checkout -f +git fetch +git merge origin/jenkins +./build_jenkins.sh + diff --git a/tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/config.xml b/tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/config.xml index 32ce768..820e9d6 100644 --- a/tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/config.xml +++ b/tools/jenkins/jenkins_home/jobs/diablo-kvm_ha/config.xml @@ -3,7 +3,17 @@ false - + + + + + RC + + + + + + 2 @@ -58,12 +68,12 @@ set -o errexit cd tools/jenkins -sudo ./build_configuration.sh $EXECUTOR_NUMBER kvm $ADAPTER +sudo ./build_configuration.sh $EXECUTOR_NUMBER kvm $ADAPTER "$RC" set -o errexit cd tools/jenkins -sudo ./run_test.sh $EXECUTOR_NUMBER $ADAPTER +sudo ./run_test.sh $EXECUTOR_NUMBER $ADAPTER $RC "$RC" From b225682189b872f490fa285a67e5d0d1e5351ed0 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 12:57:59 -0800 Subject: [PATCH 24/48] progress on getting a working test configuration --- tools/build_uec.sh | 23 +++++++++++++++++++++ tools/jenkins/adapters/euca.sh | 7 ++++++- tools/jenkins/configurations/kvm.sh | 3 +++ tools/jenkins/jenkins_home/build_jenkins.sh | 7 +++++++ tools/setup_stack_user.sh | 4 ---- 5 files changed, 39 insertions(+), 5 deletions(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index bbb8b37..2fb8b50 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -187,6 +187,29 @@ cat > localrc < $vm_dir/uec/user-data< /opt/stack/.ssh/authorized_keys +chown -R stack /opt/stack +chmod 700 /opt/stack/.ssh +chmod 600 /opt/stack/.ssh/authorized_keys + +grep -q "^#includedir.*/etc/sudoers.d" /etc/sudoers || + echo "#includedir /etc/sudoers.d" >> /etc/sudoers +( umask 226 && echo "stack ALL=(ALL) NOPASSWD:ALL" \ + > /etc/sudoers.d/50_stack_sh ) +EOF +fi + +# Run stack.sh +cat > $vm_dir/uec/user-data< $TOP_DIR/addresses diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index 567a056..1a3407f 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -10,6 +10,13 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi +# Make sure user has configured an ssh pubkey +if [ ! -e /root/.ssh/id_rsa.pub ]; then + echo "Public key is missing. This is used to ssh into your instances." + echo "Please run ssh-keygen before proceeding" + exit 1 +fi + # This directory CUR_DIR=$(cd $(dirname "$0") && pwd) diff --git a/tools/setup_stack_user.sh b/tools/setup_stack_user.sh index 231a20f..fcb9733 100755 --- a/tools/setup_stack_user.sh +++ b/tools/setup_stack_user.sh @@ -49,10 +49,6 @@ grep -q "^#includedir.*/etc/sudoers.d" $STAGING_DIR/etc/sudoers || cp $TOP_DIR/files/sudo/* $STAGING_DIR/etc/sudoers.d/ sed -e "s,%USER%,$USER,g" -i $STAGING_DIR/etc/sudoers.d/* -# and has sudo ability (in the future this should be limited to only what -# stack requires) -echo "stack ALL=(ALL) NOPASSWD: ALL" >> $STAGING_DIR/etc/sudoers - # Gracefully cp only if source file/dir exists function cp_it { if [ -e $1 ] || [ -d $1 ]; then From 2838f12e75d608249c9c2f2c3e2751ad7859e9d5 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 13:04:40 -0800 Subject: [PATCH 25/48] fix appends on user data --- tools/build_uec.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 2fb8b50..4ffd02a 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -171,7 +171,7 @@ instance-type: m1.ignore local-hostname: $GUEST_NAME.local EOF -# set metadata +# set user-data cat > $vm_dir/uec/user-data< $vm_dir/uec/user-data<> $vm_dir/uec/user-data< $vm_dir/uec/user-data<> $vm_dir/uec/user-data< Date: Thu, 10 Nov 2011 13:06:44 -0800 Subject: [PATCH 26/48] missing quotes around pub key --- tools/build_uec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 4ffd02a..174ac47 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -196,7 +196,7 @@ mkdir -p /opt/stack useradd stack -s /bin/bash -d /opt/stack -G libvirtd || true echo stack:pass | chpasswd mkdir -p /opt/stack/.ssh -echo `cat ~/.ssh/id_rsa.pub` > /opt/stack/.ssh/authorized_keys +echo "`cat ~/.ssh/id_rsa.pub`" > /opt/stack/.ssh/authorized_keys chown -R stack /opt/stack chmod 700 /opt/stack/.ssh chmod 600 /opt/stack/.ssh/authorized_keys From b7661282d10eefe9df260841286f49d04f248c7a Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 13:09:25 -0800 Subject: [PATCH 27/48] still trying to get pub key working --- tools/build_uec.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 174ac47..eabc1e7 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -191,12 +191,13 @@ EOF # Setup stack user with our key if [ -e ~/.ssh/id_rsa.pub ]; then + PUB_KEY=`cat ~/.ssh/id_rsa.pub` cat >> $vm_dir/uec/user-data< /opt/stack/.ssh/authorized_keys +echo "$PUB_KEY" > /opt/stack/.ssh/authorized_keys chown -R stack /opt/stack chmod 700 /opt/stack/.ssh chmod 600 /opt/stack/.ssh/authorized_keys From 33d2a4e2d9318443c1e2b1b362ac02d127078a09 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 13:26:16 -0800 Subject: [PATCH 28/48] fix typo --- tools/jenkins/configurations/kvm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index a6ac297..65fec29 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -22,7 +22,7 @@ CUR_DIR=$(cd $(dirname "$0") && pwd) # devstack directory cd ../../.. -TOP_DIR=(pwd) +TOP_DIR=$(pwd) # Name test instance based on executor BASE_NAME=executor-`printf "%02d" $EXECUTOR_NUMBER` From ff7771e5fb8ac249480abc1e39a27b8abe310e6c Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 13:33:31 -0800 Subject: [PATCH 29/48] fix useradd --- tools/build_uec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index eabc1e7..16ecd64 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -194,7 +194,7 @@ if [ -e ~/.ssh/id_rsa.pub ]; then PUB_KEY=`cat ~/.ssh/id_rsa.pub` cat >> $vm_dir/uec/user-data< /opt/stack/.ssh/authorized_keys From 7faa17e3683e7749392497c913dbc516bc0a49f0 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 13:43:01 -0800 Subject: [PATCH 30/48] byobu-disable --- tools/build_uec.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 16ecd64..90c8e9c 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -206,6 +206,8 @@ grep -q "^#includedir.*/etc/sudoers.d" /etc/sudoers || echo "#includedir /etc/sudoers.d" >> /etc/sudoers ( umask 226 && echo "stack ALL=(ALL) NOPASSWD:ALL" \ > /etc/sudoers.d/50_stack_sh ) +# Disable byobu +byobu-disable EOF fi From 760ddde15747261a1528e04880e69400b2144bee Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 13:46:52 -0800 Subject: [PATCH 31/48] configuring stack user is optional --- tools/build_uec.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 90c8e9c..7e91e22 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -187,10 +187,13 @@ cat > localrc <> $vm_dir/uec/user-data<> /etc/sudoers ( umask 226 && echo "stack ALL=(ALL) NOPASSWD:ALL" \ > /etc/sudoers.d/50_stack_sh ) -# Disable byobu -byobu-disable EOF fi From 1277eab04d0040ae02c7c1a4daabecb57e7cea53 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 14:06:13 -0800 Subject: [PATCH 32/48] run tests for floaitng ips --- tools/jenkins/adapters/floating_ips.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/jenkins/adapters/floating_ips.sh b/tools/jenkins/adapters/floating_ips.sh index 3cd9710..a97f935 100755 --- a/tools/jenkins/adapters/floating_ips.sh +++ b/tools/jenkins/adapters/floating_ips.sh @@ -1,3 +1,8 @@ #!/bin/bash +# Echo commands, exit on error +set -o xtrace +set -o errexit -echo "$0 SUCCESS!" +TOP_DIR=$(cd ../../.. && pwd) +HEAD_IP=`cat $TOP_DIR/addresses | grep HEAD | cut -d "=" -f2` +ssh stack@$HEAD_IP 'cd devstack && source openrc && cd exercises && ./floating_ips.sh' From 305e3f5524603f700eaeea31586f6a015b5aec29 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 14:36:42 -0800 Subject: [PATCH 33/48] tweaks to the hacky clean script --- tools/jenkins/jenkins_home/clean.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/jenkins/jenkins_home/clean.sh b/tools/jenkins/jenkins_home/clean.sh index f92e0d2..9d17f97 100755 --- a/tools/jenkins/jenkins_home/clean.sh +++ b/tools/jenkins/jenkins_home/clean.sh @@ -3,19 +3,19 @@ set -o errexit -if [ ! "$FORCE" = 1 ]; then +if [ ! "$FORCE" = "yes" ]; then echo "FORCE not set to 1. Make sure this is something you really want to do. Exiting." exit 1 fi -exit virsh list | cut -d " " -f1 | grep -v "-" | egrep -e "[0-9]" | xargs -n 1 virsh destroy || true virsh net-list | grep active | cut -d " " -f1 | xargs -n 1 virsh net-destroy || true -killall dnsmasq -rm -rf jobs +killall dnsmasq || true +if [ "$CLEAN" = "yes" ]; then + rm -rf jobs +fi rm /var/lib/jenkins/jobs git checkout -f git fetch git merge origin/jenkins ./build_jenkins.sh - From 674db1ab2c041cae7f2fb00c31a6d4370f1e76d6 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Thu, 10 Nov 2011 14:46:52 -0800 Subject: [PATCH 34/48] fix usage for clean.sh --- tools/jenkins/jenkins_home/clean.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/jenkins/jenkins_home/clean.sh b/tools/jenkins/jenkins_home/clean.sh index 9d17f97..eb03022 100755 --- a/tools/jenkins/jenkins_home/clean.sh +++ b/tools/jenkins/jenkins_home/clean.sh @@ -4,7 +4,7 @@ set -o errexit if [ ! "$FORCE" = "yes" ]; then - echo "FORCE not set to 1. Make sure this is something you really want to do. Exiting." + echo "FORCE not set to 'yes'. Make sure this is something you really want to do. Exiting." exit 1 fi From 7f91d5e3115adeba4aad1c7ca9767d0173deb4d8 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 09:49:47 -0800 Subject: [PATCH 35/48] add in xs configuration --- tools/jenkins/configurations/xs.sh | 53 ++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tools/jenkins/configurations/xs.sh 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" From aae02c09a7ad202341adefa87eba50617726c972 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 09:51:14 -0800 Subject: [PATCH 36/48] +x --- tools/jenkins/configurations/xs.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 tools/jenkins/configurations/xs.sh diff --git a/tools/jenkins/configurations/xs.sh b/tools/jenkins/configurations/xs.sh old mode 100644 new mode 100755 From ad0378613b44bea53db74fcb26909c2f815458ad Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 09:53:22 -0800 Subject: [PATCH 37/48] fix path --- tools/jenkins/configurations/xs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/jenkins/configurations/xs.sh b/tools/jenkins/configurations/xs.sh index cfcf0f8..864f949 100755 --- a/tools/jenkins/configurations/xs.sh +++ b/tools/jenkins/configurations/xs.sh @@ -28,7 +28,7 @@ if [ ! -e $XENRC ]; then fi # Move to top of devstack -cd ../.. +cd ../../.. # Use xenrc as the start of our localrc cp $XENRC localrc From fa4ecc6e2be8b2e08b489cba4a15334c5db68ad8 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 10:23:22 -0800 Subject: [PATCH 38/48] destroy orphaned vdis --- tools/xen/build_domU.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/xen/build_domU.sh b/tools/xen/build_domU.sh index 6362849..d79d5c3 100755 --- a/tools/xen/build_domU.sh +++ b/tools/xen/build_domU.sh @@ -240,6 +240,11 @@ if [ "$DO_SHUTDOWN" = "1" ]; then xe vm-shutdown uuid=$uuid xe vm-destroy uuid=$uuid done + + # Destroy orphaned vdis + for uuid in `xe vdi-list | grep -1 Glance | grep uuid | sed "s/.*\: //g"`; do + xe vdi-destroy uuid=$uuid + done fi # Path to head xva. By default keep overwriting the same one to save space From 3bff7b3d51aff27e215cb5b7fccbe632ecdd7aa7 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 10:51:24 -0800 Subject: [PATCH 39/48] increase timeouts for kvm --- tools/jenkins/configurations/kvm.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index 65fec29..ea30871 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -45,6 +45,8 @@ ADMIN_PASSWORD=chicken USERNAME=admin TENANT=admin NET_NAME=$BASE_NAME +ACTIVE_TIMEOUT=45 +BOOT_TIMEOUT=45 $RC EOF cd tools From c8af0c5d8980374610e8c5c5dac4f3af70144920 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 11:17:47 -0800 Subject: [PATCH 40/48] tweak defaults for kvm config --- tools/jenkins/configurations/kvm.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/jenkins/configurations/kvm.sh b/tools/jenkins/configurations/kvm.sh index ea30871..3e07113 100755 --- a/tools/jenkins/configurations/kvm.sh +++ b/tools/jenkins/configurations/kvm.sh @@ -36,8 +36,8 @@ RECLONE=yes GUEST_NETWORK=$EXECUTOR_NUMBER GUEST_NAME=$GUEST_NAME FLOATING_RANGE=192.168.$EXECUTOR_NUMBER.128/27 -GUEST_CORES=4 -GUEST_RAM=1000000 +GUEST_CORES=1 +GUEST_RAM=12574720 MYSQL_PASSWORD=chicken RABBIT_PASSWORD=chicken SERVICE_TOKEN=chicken From 715944008accc1990f41573000f5c65284f9adc9 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 11:19:57 -0800 Subject: [PATCH 41/48] byobu is nor getting disabled :/ --- tools/build_uec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 7e91e22..3eafe5e 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -188,7 +188,7 @@ ROOTSLEEP=0 `cat $TOP_DIR/localrc` LOCAL_EOF # Disable byobu -byobu-disable +/usr/bin/byobu-disable EOF # Setup stack user with our key From 723e2d2246b86ba9ca5c9cfe63c240dc98e25325 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 13:42:09 -0800 Subject: [PATCH 42/48] trunk jenkins! --- tools/jenkins/jenkins_home/build_jenkins.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index 1a3407f..2bc856d 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -20,6 +20,11 @@ fi # This directory CUR_DIR=$(cd $(dirname "$0") && pwd) +# Configure trunk jenkins! +echo "deb http://pkg.jenkins-ci.org/debian binary/" > /etc/apt/sources.list.d/jenkins.list +wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - +apt-get update + # Install software DEPS="jenkins cloud-utils" apt-get install -y --force-yes $DEPS From c0d4e678d4bbbdcae1f09ef18319bf4f3c2950ff Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 13:46:44 -0800 Subject: [PATCH 43/48] use /etc/init.d/jenkins to start/stop server --- tools/jenkins/jenkins_home/build_jenkins.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index 2bc856d..9a32a0a 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -97,5 +97,5 @@ for plugin in ${PLUGINS//,/ }; do done # Restart jenkins -stop jenkins || true -start jenkins +/etc/init.d/jenkins stop || true +/etc/init.d/jenkins start From 57346b7fcd63fe746491d088864e5f8d2c0822c3 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 13:53:56 -0800 Subject: [PATCH 44/48] show how to uninstall jenkins if there are issues upgrading --- tools/jenkins/jenkins_home/build_jenkins.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/jenkins/jenkins_home/build_jenkins.sh b/tools/jenkins/jenkins_home/build_jenkins.sh index 9a32a0a..7d68679 100755 --- a/tools/jenkins/jenkins_home/build_jenkins.sh +++ b/tools/jenkins/jenkins_home/build_jenkins.sh @@ -25,6 +25,13 @@ echo "deb http://pkg.jenkins-ci.org/debian binary/" > /etc/apt/sources.list.d/je wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - apt-get update + +# Clean out old jenkins - useful if you are having issues upgrading +CLEAN_JENKINS=${CLEAN_JENKINS:-no} +if [ "$CLEAN_JENKINS" = "yes" ] then; + apt-get remove jenkins jenkins-common +fi + # Install software DEPS="jenkins cloud-utils" apt-get install -y --force-yes $DEPS From 4a10d436c0b6ca57b29eece5334bf95edf4dba34 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Fri, 11 Nov 2011 15:56:51 -0800 Subject: [PATCH 45/48] add in config.xml for xs --- .../jenkins_home/jobs/diablo-xs_ha/config.xml | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 tools/jenkins/jenkins_home/jobs/diablo-xs_ha/config.xml diff --git a/tools/jenkins/jenkins_home/jobs/diablo-xs_ha/config.xml b/tools/jenkins/jenkins_home/jobs/diablo-xs_ha/config.xml new file mode 100644 index 0000000..21cd496 --- /dev/null +++ b/tools/jenkins/jenkins_home/jobs/diablo-xs_ha/config.xml @@ -0,0 +1,88 @@ + + + + In order for this to work, you must create a /var/lib/jenkins/xenrc file as described in README.md + false + + + + + RC + + + + + + + + 2 + + + origin + +refs/heads/*:refs/remotes/origin/* + git://github.com/cloudbuilders/devstack.git + + + + + jenkins + + + false + false + false + false + false + false + false + + Default + + + + + + + false + + + true + false + false + false + + false + + + ADAPTER + + euca + floating_ips + + + + + + sed -i 's/) 2>&1 | tee "${LOGFILE}"/)/' stack.sh + + + set -o errexit +cd tools/jenkins +sudo ./build_configuration.sh $EXECUTOR_NUMBER xs $ADAPTER "$RC" + + + #!/bin/bash +set -o errexit +set -o xtrace + +. localrc + +# Unlike kvm, ssh to the xen host to run tests, in case the test instance is launch with a host only network +ssh root@$XEN_IP "cd devstack && . localrc && cd tools/jenkins && ./run_test.sh $EXECUTOR_NUMBER $ADAPTER '$RC'" + + + + + + true + \ No newline at end of file From d99f5fd775d0ab57e964d8403266fc1adc7a4004 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Mon, 14 Nov 2011 11:05:04 -0800 Subject: [PATCH 46/48] add a script to print a json summary of our jenkins configs --- tools/jenkins/jenkins_home/print_summary.py | 45 +++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 tools/jenkins/jenkins_home/print_summary.py diff --git a/tools/jenkins/jenkins_home/print_summary.py b/tools/jenkins/jenkins_home/print_summary.py new file mode 100755 index 0000000..1d71a4a --- /dev/null +++ b/tools/jenkins/jenkins_home/print_summary.py @@ -0,0 +1,45 @@ +#!/usr/bin/python +import urllib +import json +import sys + + +def print_usage(): + print "Usage: %s [jenkins_url (eg. http://50.56.12.202:8080/)]"\ + % sys.argv[0] + sys.exit() + + +def fetch_blob(url): + return json.loads(urllib.urlopen(url + '/api/json').read()) + + +if len(sys.argv) < 2: + print_usage() + +BASE_URL = sys.argv[1] + +root = fetch_blob(BASE_URL) +results = {} +for job_url in root['jobs']: + job = fetch_blob(job_url['url']) + if job.get('activeConfigurations'): + (tag, name) = job['name'].split('-') + if not results.get(tag): + results[tag] = {} + if not results[tag].get(name): + results[tag][name] = [] + + for config_url in job['activeConfigurations']: + config = fetch_blob(config_url['url']) + + log_url = '' + if config.get('lastBuild'): + log_url = config['lastBuild']['url'] + 'console' + + results[tag][name].append({'test': config['displayName'], + 'status': config['color'], + 'logUrl': log_url, + 'healthReport': config['healthReport']}) + +print json.dumps(results) From cc503be3da9dc487b660b375ea2dfe4a536dd953 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Mon, 14 Nov 2011 11:30:44 -0800 Subject: [PATCH 47/48] fix readme --- tools/jenkins/README.md | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/tools/jenkins/README.md b/tools/jenkins/README.md index 74237f8..fac3f51 100644 --- a/tools/jenkins/README.md +++ b/tools/jenkins/README.md @@ -4,14 +4,34 @@ This little corner of devstack is to show how to get an Openstack jenkins environment up and running quickly, using the rcb configuration methodology. -To manually set up a testing environment ----------------------------------------- - ./build_configuration.sh [EXECUTOR_NUMBER] [CONFIGURATION] +To create a jenkins server +-------------------------- -For now, use "./build_configuration.sh $EXECUTOR_NUMBER kvm" + cd tools/jenkins/jenkins_home + ./build_jenkins.sh -To manually run a test ----------------------- - ./run_test.sh [EXECUTOR_NUMBER] [ADAPTER] +This will create a jenkins environment configured with sample test scripts that run against xen and kvm. -For now, use "./run_test.sh $EXECUTOR_NUMBER [euca|floating]" +Configuring XS +-------------- +In order to make the tests for XS work, you must install xs 5.6 on a separate machine, +and install the the jenkins public key on that server. You then need to create the +/var/lib/jenkins/xenrc on your jenkins server like so: + + MYSQL_PASSWORD=secrete + SERVICE_TOKEN=secrete + ADMIN_PASSWORD=secrete + RABBIT_PASSWORD=secrete + # This is the password for your guest (for both stack and root users) + GUEST_PASSWORD=secrete + # IMPORTANT: The following must be set to your dom0 root password! + XENAPI_PASSWORD='MY_XEN_ROOT_PW' + # Do not download the usual images yet! + IMAGE_URLS="" + FLOATING_RANGE=192.168.1.224/28 + VIRT_DRIVER=xenserver + # Explicitly set multi-host + MULTI_HOST=1 + # Give extra time for boot + ACTIVE_TIMEOUT=45 + XEN_IP=50.56.12.203 From fd5cf0bbb3fe84a063f3279caf0fb97a0f462435 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Mon, 14 Nov 2011 11:32:02 -0800 Subject: [PATCH 48/48] readme fix --- tools/jenkins/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/jenkins/README.md b/tools/jenkins/README.md index fac3f51..371017d 100644 --- a/tools/jenkins/README.md +++ b/tools/jenkins/README.md @@ -24,8 +24,6 @@ and install the the jenkins public key on that server. You then need to create RABBIT_PASSWORD=secrete # This is the password for your guest (for both stack and root users) GUEST_PASSWORD=secrete - # IMPORTANT: The following must be set to your dom0 root password! - XENAPI_PASSWORD='MY_XEN_ROOT_PW' # Do not download the usual images yet! IMAGE_URLS="" FLOATING_RANGE=192.168.1.224/28 @@ -34,4 +32,7 @@ and install the the jenkins public key on that server. You then need to create MULTI_HOST=1 # Give extra time for boot ACTIVE_TIMEOUT=45 - XEN_IP=50.56.12.203 + # IMPORTANT: This is the ip of your xenserver + XEN_IP=10.5.5.1 + # IMPORTANT: The following must be set to your dom0 root password! + XENAPI_PASSWORD='MY_XEN_ROOT_PW'