From: Sam Hague Date: Sun, 10 Apr 2016 11:41:58 +0000 (-0400) Subject: Add ovs integration tests for netvirt X-Git-Tag: release/beryllium-sr2~58^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=releng%2Fbuilder.git;a=commitdiff_plain;h=aeacd9629e8ea23a90d73dc07df2ee4fdc15192f Add ovs integration tests for netvirt Change-Id: I6d20efc3ac861275b4f83fa2d421f0be8389e128 Signed-off-by: Sam Hague --- diff --git a/jjb/netvirt/include-raw-cleanup-docker.sh b/jjb/netvirt/include-raw-cleanup-docker.sh new file mode 100644 index 000000000..014178cc4 --- /dev/null +++ b/jjb/netvirt/include-raw-cleanup-docker.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +echo "---> Cleaning up OVS $OVS_VERSION" +docker logs $CID > $WORKSPACE/docker-ovs-${OVS_VERSION}.log +docker stop $CID +docker rm $CID +rm env.properties + +docker images diff --git a/jjb/netvirt/include-raw-setup-docker.sh b/jjb/netvirt/include-raw-setup-docker.sh new file mode 100644 index 000000000..6056b741a --- /dev/null +++ b/jjb/netvirt/include-raw-setup-docker.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -e + +OVS_VERSION=${OVS_VERSION:-2.3.2} + +echo "---> Cleaning up existing Docker processes and images" +for x in $(docker ps -a -q) +do + docker stop "$x" + docker rm "$x" +done + +for x in $(docker images | egrep -e 'davetucker|mgkwill|socketplane' | awk '{print $3}') +do + docker rmi "$x" +done + + + +echo "---> Starting OVS $OVS_VERSION" +/usr/bin/docker pull mgkwill/openvswitch:$OVS_VERSION +CID=$(/usr/bin/docker run -p 6641:6640 --privileged=true -d -i -t mgkwill/openvswitch:$OVS_VERSION /usr/bin/supervisord) +REALCID=`echo $CID | rev | cut -d ' ' -f 1 | rev` +echo "CID=$REALCID" > env.properties +echo "OVS_VERSION=${OVS_VERSION}" >> env.properties +CONTROLLER_IP=`facter ipaddress` +echo "CONTROLLER_IP=${CONTROLLER_IP}" >> env.properties + +echo "---> Waiting..." +sleep 10 diff --git a/jjb/netvirt/netvirt-full-integration.yaml b/jjb/netvirt/netvirt-full-integration.yaml new file mode 100644 index 000000000..75986c37d --- /dev/null +++ b/jjb/netvirt/netvirt-full-integration.yaml @@ -0,0 +1,120 @@ +- project: + name: netvirt-full-integration + jobs: + - 'netvirt-daily-full-integration-{stream}' + + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + stream: + - boron: + branch: 'master' + jdk: openjdk8 + jdks: + - openjdk8 + - beryllium: + branch: 'stable/beryllium' + jdk: openjdk8 + jdks: + - openjdk8 + - stable-lithium: + branch: 'stable/lithium' + jdk: openjdk7 + jdks: + - openjdk7 + + project: 'netvirt' + +- job-template: + name: 'netvirt-daily-full-integration-{stream}' + + # Required Variables: + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + + project-type: matrix + node: matrix_master + description: 'Integration tests for the netvirt project against different versions of OVS and branches. This job runs nightly. ' + execution-strategy: + sequential: true + + axes: + - axis: + type: user-defined + name: 'OVS_VERSION' + values: + - 2.3.2 + - 2.4.0 + - axis: + type: jdk + values: '{obj:jdks}' + + - axis: + type: slave + name: nodes + values: + - dynamic_docker + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + wrappers: + - timeout: + fail: true + timeout: 360 + timeout-var: 'BUILD_TIMEOUT' + type: absolute + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + + triggers: + - timed: '@midnight' + + builders: + - wipe-org-opendaylight-repo + - shell: + !include-raw-escape: + - include-raw-setup-docker.sh + - inject: + properties-file: env.properties + - maven-target: + maven-version: '{mvn33}' + pom: 'pom.xml' + goals: 'clean install -V verify -Pintegrationtest -Dskip.karaf.featureTest=true -Dmaven.compile.fork=true -Dovsdb.controller.address=${{CONTROLLER_IP}}' + properties: + - 'ovsdbserver.ipaddress=127.0.0.1' + - 'ovsdbserver.port=6641' + - 'ovsdb.userspace.enabled=yes' + - 'maven.repo.local=/tmp/r' + - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r' + - 'stream={stream}' + java-opts: + - '-Xmx1024m -XX:MaxPermSize=256m' + settings: '{netvirt-settings}' + global-settings: '{odl-global-settings}' + - shell: + !include-raw-escape: + - include-raw-cleanup-docker.sh + - jacoco-nojava-workaround + + publishers: + - archive: + artifacts: 'docker-ovs-*.log' + fingerprint: false + - email-notification: + email-prefix: '[netvirt]'