refactor email recipients to parameter with default value
[releng/builder.git] / jjb / netvirt / netvirt-full-integration.yaml
index 2e9da3b9514b1efb354f9ef77daa8775d7abc21a..3b7760beb1874f52f46cd9083cb7c8c296904ea9 100644 (file)
@@ -3,14 +3,17 @@
     jobs:
         - 'netvirt-daily-full-integration-{stream}'
 
-    # stream:    release stream (eg. stable-lithium or beryllium)
-    # branch:    git branch (eg. stable/lithium or master)
     stream:
-        - boron:
+        - carbon:
             branch: 'master'
             jdk: openjdk8
             jdks:
                 - openjdk8
+        - boron:
+            branch: 'stable/boron'
+            jdk: openjdk8
+            jdks:
+                - openjdk8
         - beryllium:
             branch: 'stable/beryllium'
             jdk: openjdk8
                 - openjdk8
 
     project: 'netvirt'
+    archive-artifacts: '*.log **/target/surefire-reports/*.txt'
+
+- builder:
+    name: netvirt-run-it-external-docker
+    builders:
+        - maven-target:
+            maven-version: '{maven-version}'
+            pom: '{pomFile}'
+            goals: '-V -B verify -l {logfile} -Pintegrationtest -Dskip.karaf.featureTest=true -Dmaven.compile.fork=true -Dovsdb.controller.address=${{CONTROLLER_IP}} -Dmaven.test.failure.ignore=true'
+            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'
+            settings-type: cfp
+            global-settings: 'odl-global-settings'
+            global-settings-type: cfp
+
+- builder:
+    name: netvirt-run-it-dockerOvs
+    builders:
+        - maven-target:
+            maven-version: '{maven-version}'
+            pom: '{pomFile}'
+            goals: '-V -B verify -l {logfile} -Pintegrationtest -Dskip.karaf.featureTest=true -Dmaven.compile.fork=true -Dovsdb.controller.address=${{CONTROLLER_IP}} -Ddocker.compose.file=ovs-{OVS_VERSION}-hwvtep.yml -Ddocker.vEnvWs=$WORKSPACE -Dsgm=transparent -Dmaven.test.failure.ignore=true'
+            properties:
+                - 'maven.repo.local=/tmp/r'
+                - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
+                - 'stream={stream}'
+            java-opts:
+                - '-Xmx1024m -XX:MaxPermSize=256m'
+            settings: 'netvirt-settings'
+            settings-type: cfp
+            global-settings: 'odl-global-settings'
+            global-settings-type: cfp
+
+- builder:
+    name: run-net-virt-it
+    builders:
+        - netvirt-run-it-dockerOvs:
+            maven-version: '{maven-version}'
+            stream: '{stream}'
+            pomFile: 'openstack/net-virt-it/pom.xml'
+            logfile: '{OVS_VERSION}-net-virt-IT.log'
+            OVS_VERSION: '{OVS_VERSION}'
+
+- builder:
+    name: run-netvirt-sfc-it
+    builders:
+        - netvirt-run-it-external-docker:
+            maven-version: '{maven-version}'
+            stream: '{stream}'
+            pomFile: 'openstack/net-virt-sfc/it/pom.xml'
+            logfile: '{OVS_VERSION}-netvirt-sfc-IT.log'
+
+- builder:
+    name: run-netvirt-vpnservice-it
+    builders:
+        - netvirt-run-it-dockerOvs:
+            maven-version: '{maven-version}'
+            stream: '{stream}'
+            pomFile: 'vpnservice/it/pom.xml'
+            logfile: '{OVS_VERSION}-netvirt-vpnservice-IT.log'
+            OVS_VERSION: '{OVS_VERSION}'
+
+- builder:
+    name: install-docker-compose
+    builders:
+        - shell: |
+            virtualenv $WORKSPACE/venv
+            source $WORKSPACE/venv/bin/activate
+            pip install --upgrade pip
+            pip install docker-compose
+
+
+- builder:
+    name: run-netvirt-it
+    builders:
+        - inject:
+            properties-content: OVS_VERSION={OVS_VERSION}
+        - shell:
+            !include-raw-escape:
+                - include-setup-misc.sh
+        - inject:
+            properties-file: env.properties
+        - install-docker-compose
+        - run-netvirt-vpnservice-it:
+            OVS_VERSION: '{OVS_VERSION}'
+            maven-version: '{maven-version}'
+            stream: '{stream}'
+        - run-net-virt-it:
+            OVS_VERSION: '{OVS_VERSION}'
+            maven-version: '{maven-version}'
+            stream: '{stream}'
+        - shell:
+            !include-raw-escape:
+                - include-raw-setup-docker.sh
+        - inject:
+            properties-file: env.properties
+        - run-netvirt-sfc-it:
+            OVS_VERSION: '{OVS_VERSION}'
+            maven-version: '{maven-version}'
+            stream: '{stream}'
+        - shell:
+            !include-raw-escape:
+                - include-raw-cleanup-docker.sh
 
 - 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
+    project-type: freestyle
+    node: centos7-docker-2c-4g
+    jdk: '{jdk}'
+    description: 'Integration tests for the Netvirt project against different versions of OVS and branches. This job runs nightly. '
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameters:
+        - opendaylight-infra-parameters:
             project: '{project}'
             branch: '{branch}'
             refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
 
     scm:
         - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
             refspec: '$GERRIT_REFSPEC'
             branch: '{branch}'
             choosing-strategy: gerrit
 
     builders:
         - wipe-org-opendaylight-repo
-        - shell:
-            !include-raw-escape:
-                - include-raw-setup-docker.sh
-        - inject:
-            properties-file: env.properties
         - maven-target:
-            maven-version: '{mvn33}'
+            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}}'
+            goals: '-V -B -l build.log clean install dependency:tree -Pq -Dmaven.compile.fork=true'
             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}'
             settings-type: cfp
             global-settings: 'odl-global-settings'
             global-settings-type: cfp
-        - shell:
-            !include-raw-escape:
-                - include-raw-cleanup-docker.sh
+        #  skip 2.4.0 until we figure out conntrack
+        #- run-netvirt-it:
+        #    maven-version: 'mvn33'
+        #    stream: '{stream}'
+        #    OVS_VERSION: '2.4.0'
+        - run-netvirt-it:
+            maven-version: 'mvn33'
+            stream: '{stream}'
+            OVS_VERSION: '2.5.0'
         - jacoco-nojava-workaround
 
     publishers:
-        - archive:
-            artifacts: 'docker-ovs-*.log'
-            fingerprint: false
         - email-notification:
+            email-recipients: '{email-recipients}'
             email-prefix: '[netvirt]'
+        - text-finder:
+            fileset: "**/target/surefire-reports/*.xml"
+            regexp: 'failures\=\"[^0]\"'
+            succeed-if-found: false
+            unstable-if-found: true
+            also-check-console-output: false
+        - opendaylight-infra-shiplogs:
+            maven-version: 'mvn33'