Browse code

more work on jenkins stuff

Anthony Young authored on 2011/11/09 08:25:12
Showing 8 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,17 @@
0
+Getting Started With Jenkins and Devstack
1
+=========================================
2
+This little corner of devstack is to show how to get an Openstack jenkins
3
+environment up and running quickly, using the rcb configuration methodology.
4
+
5
+
6
+To manually set up a testing environment
7
+----------------------------------------
8
+    ./build_configuration.sh [EXECUTOR_NUMBER] [CONFIGURATION]
9
+
10
+For now, use "./build_configuration.sh $EXECUTOR_NUMBER kvm"
11
+
12
+To manually run a test
13
+----------------------
14
+    ./run_test.sh [EXECUTOR_NUMBER] [ADAPTER] 
15
+
16
+For now, use "./run_test.sh $EXECUTOR_NUMBER [euca|floating]"
0 17
new file mode 100755
... ...
@@ -0,0 +1,3 @@
0
+#!/bin/bash
1
+
2
+echo "$0 SUCCESS!"
0 3
new file mode 100755
... ...
@@ -0,0 +1,3 @@
0
+#!/bin/bash
1
+
2
+echo "$0 SUCCESS!"
0 3
new file mode 100755
... ...
@@ -0,0 +1,19 @@
0
+#!/bin/bash
1
+
2
+EXECUTOR_NUMBER=$1
3
+CONFIGURATION=$2
4
+
5
+function usage() {
6
+    echo "Usage: $0 -  Build a configuration"
7
+    echo ""
8
+    echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION]"
9
+    exit 1
10
+}
11
+
12
+# Validate inputs
13
+if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" ]]; then
14
+    usage
15
+fi
16
+
17
+# Execute configuration script
18
+cd configurations && ./$CONFIGURATION.sh $EXECUTOR_NUMBER $CONFIGURATION
0 19
deleted file mode 100755
... ...
@@ -1,69 +0,0 @@
1
-#!/bin/bash
2
-
3
-# Echo commands, exit on error
4
-set -o xtrace
5
-set -o errexit
6
-
7
-# Make sure only root can run our script
8
-if [[ $EUID -ne 0 ]]; then
9
-   echo "This script must be run as root"
10
-   exit 1
11
-fi
12
-
13
-# This directory
14
-CUR_DIR=$(cd $(dirname "$0") && pwd)
15
-
16
-# Install software
17
-DEPS="jenkins"
18
-apt-get install -y --force-yes $DEPS
19
-
20
-# Install jenkins
21
-if [ ! -e /var/lib/jenkins ]; then
22
-   echo "Jenkins installation failed"
23
-   exit 1
24
-fi
25
-
26
-# Setup sudo
27
-JENKINS_SUDO=/etc/sudoers.d/jenkins
28
-cat > $JENKINS_SUDO <<EOF
29
-jenkins ALL = NOPASSWD: ALL
30
-EOF
31
-chmod 440 $JENKINS_SUDO
32
-
33
-# Setup .gitconfig
34
-JENKINS_GITCONF=/var/lib/jenkins/hudson.plugins.git.GitSCM.xml
35
-cat > $JENKINS_GITCONF <<EOF
36
-<?xml version='1.0' encoding='UTF-8'?>
37
-<hudson.plugins.git.GitSCM_-DescriptorImpl>
38
-  <generation>4</generation>
39
-  <globalConfigName>Jenkins</globalConfigName>
40
-  <globalConfigEmail>jenkins@rcb.me</globalConfigEmail>
41
-</hudson.plugins.git.GitSCM_-DescriptorImpl>
42
-EOF
43
-
44
-# Set ownership to jenkins
45
-chown -R jenkins $CUR_DIR
46
-
47
-# Set up jobs symlink
48
-if [ ! -h /var/lib/jenkins/jobs ]; then
49
-    echo "Installing jobs symlink"
50
-    if [ -d /var/lib/jenkins/jobs ]; then
51
-        mv /var/lib/jenkins/jobs /var/lib/jenkins/jobs.old
52
-    fi
53
-    ln -s $CUR_DIR/jobs /var/lib/jenkins/jobs
54
-fi
55
-
56
-# List of plugins
57
-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
58
-
59
-# Configure plugins
60
-for plugin in ${PLUGINS//,/ }; do
61
-    name=`basename $plugin`   
62
-    dest=/var/lib/jenkins/plugins/$name
63
-    if [ ! -e $dest ]; then
64
-        curl -L $plugin -o $dest
65
-    fi
66
-done
67
-
68
-# Restart jenkins
69
-restart jenkins
70 1
new file mode 100755
... ...
@@ -0,0 +1,45 @@
0
+#!/bin/bash
1
+
2
+EXECUTOR_NUMBER=$1
3
+CONFIGURATION=$2
4
+
5
+function usage() {
6
+    echo "Usage: $0 - Build a test configuration"
7
+    echo ""
8
+    echo "$0 [EXECUTOR_NUMBER] [CONFIGURATION]"
9
+    exit 1
10
+}
11
+
12
+# Validate inputs
13
+if [[ "$EXECUTOR_NUMBER" = "" || "$CONFIGURATION" = "" ]]; then
14
+    usage
15
+fi
16
+
17
+# This directory
18
+CUR_DIR=$(cd $(dirname "$0") && pwd)
19
+
20
+# devstack directory
21
+cd ../../..
22
+TOP_DIR=(pwd)
23
+
24
+# Name test instance based on executor
25
+NAME=executor-$EXECUTOR_NUMBER
26
+virsh destroy `virsh list | grep $NAME | cut -d " " -f1` || true
27
+
28
+# Configure localrc
29
+cat <<EOF >localrc
30
+RECLONE=yes
31
+GUEST_NETWORK=$EXECUTOR_NUMBER
32
+GUEST_NAME=$NAME
33
+FLOATING_RANGE=192.168.$EXECUTOR_NUMBER.128/27
34
+GUEST_CORES=4
35
+GUEST_RAM=10000000
36
+MYSQL_PASSWORD=chicken
37
+RABBIT_PASSWORD=chicken
38
+SERVICE_TOKEN=chicken
39
+ADMIN_PASSWORD=chicken
40
+USERNAME=admin
41
+TENANT=admin
42
+EOF
43
+cd tools
44
+sudo ./build_uec.sh
0 45
new file mode 100755
... ...
@@ -0,0 +1,69 @@
0
+#!/bin/bash
1
+
2
+# Echo commands, exit on error
3
+set -o xtrace
4
+set -o errexit
5
+
6
+# Make sure only root can run our script
7
+if [[ $EUID -ne 0 ]]; then
8
+   echo "This script must be run as root"
9
+   exit 1
10
+fi
11
+
12
+# This directory
13
+CUR_DIR=$(cd $(dirname "$0") && pwd)
14
+
15
+# Install software
16
+DEPS="jenkins"
17
+apt-get install -y --force-yes $DEPS
18
+
19
+# Install jenkins
20
+if [ ! -e /var/lib/jenkins ]; then
21
+   echo "Jenkins installation failed"
22
+   exit 1
23
+fi
24
+
25
+# Setup sudo
26
+JENKINS_SUDO=/etc/sudoers.d/jenkins
27
+cat > $JENKINS_SUDO <<EOF
28
+jenkins ALL = NOPASSWD: ALL
29
+EOF
30
+chmod 440 $JENKINS_SUDO
31
+
32
+# Setup .gitconfig
33
+JENKINS_GITCONF=/var/lib/jenkins/hudson.plugins.git.GitSCM.xml
34
+cat > $JENKINS_GITCONF <<EOF
35
+<?xml version='1.0' encoding='UTF-8'?>
36
+<hudson.plugins.git.GitSCM_-DescriptorImpl>
37
+  <generation>4</generation>
38
+  <globalConfigName>Jenkins</globalConfigName>
39
+  <globalConfigEmail>jenkins@rcb.me</globalConfigEmail>
40
+</hudson.plugins.git.GitSCM_-DescriptorImpl>
41
+EOF
42
+
43
+# Set ownership to jenkins
44
+chown -R jenkins $CUR_DIR
45
+
46
+# Set up jobs symlink
47
+if [ ! -h /var/lib/jenkins/jobs ]; then
48
+    echo "Installing jobs symlink"
49
+    if [ -d /var/lib/jenkins/jobs ]; then
50
+        mv /var/lib/jenkins/jobs /var/lib/jenkins/jobs.old
51
+    fi
52
+    ln -s $CUR_DIR/jobs /var/lib/jenkins/jobs
53
+fi
54
+
55
+# List of plugins
56
+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
57
+
58
+# Configure plugins
59
+for plugin in ${PLUGINS//,/ }; do
60
+    name=`basename $plugin`   
61
+    dest=/var/lib/jenkins/plugins/$name
62
+    if [ ! -e $dest ]; then
63
+        curl -L $plugin -o $dest
64
+    fi
65
+done
66
+
67
+# Restart jenkins
68
+restart jenkins
0 69
new file mode 100755
... ...
@@ -0,0 +1,19 @@
0
+#!/bin/bash
1
+
2
+EXECUTOR_NUMBER=$1
3
+ADAPTER=$2
4
+
5
+function usage() {
6
+    echo "Usage: $0 - Run a test"
7
+    echo ""
8
+    echo "$0 [EXECUTOR_NUMBER] [ADAPTER]"
9
+    exit 1
10
+}
11
+
12
+# Validate inputs
13
+if [[ "$EXECUTOR_NUMBER" = "" || "$ADAPTER" = "" ]]; then
14
+    usage
15
+fi
16
+
17
+# Execute configuration script
18
+cd adapters && ./$ADAPTER.sh $EXECUTOR_NUMBER $ADAPTER