Merge "Set pass-if to 100% in every csit-related job"
[releng/builder.git] / jjb / integration / integration-test-jobs.yaml
index afaae02666b90cb964648267ee09f6150fa91c02..07cac23fd9bc4c82220390ba66009bb0673a4c45 100644 (file)
@@ -4,9 +4,9 @@
     jobs:
         - 'integration-verify-python'
         - 'integration-csit-verify-1node-library'
-        - 'integration-distribution-offline-{stream}'
         - 'integration-distribution-test-{stream}'
         - 'integration-patch-test-{stream}'
+        - 'integration-multipatch-test-{stream}'
 
     stream:
         - beryllium:
@@ -18,8 +18,6 @@
                 bgpcep-csit-1node-userfeatures-all-{stream},
                 capwap-csit-1node-ac-only-{stream},
                 capwap-csit-1node-ac-all-{stream},
-                controller-csit-1node-netconf-only-{stream},
-                controller-csit-1node-netconf-all-{stream},
                 controller-csit-3node-clustering-only-{stream},
                 controller-csit-3node-clustering-all-{stream},
                 integration-csit-3node-basic-only-{stream},
                 nic-csit-1node-basic-all-{stream},
                 nic-csit-1node-basic-only-{stream},
                 openflowplugin-csit-1node-flow-services-only-{stream},
+                openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream},
                 openflowplugin-csit-1node-flow-services-all-{stream},
-                openflowplugin-csit-1node-flow-services-more-only-{stream},
-                openflowplugin-csit-1node-flow-services-more-all-{stream},
                 openflowplugin-csit-1node-scalability-only-{stream},
+                openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream},
                 openflowplugin-csit-1node-scalability-all-{stream},
                 openflowplugin-csit-1node-cbench-performance-only-{stream},
+                openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream},
                 openflowplugin-csit-1node-config-performance-only-{stream},
+                openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream},
                 ovsdb-csit-1node-netvirt-only-{stream},
                 ovsdb-csit-1node-netvirt-all-{stream},
                 ovsdb-csit-1node-southbound-only-{stream},
                 ovsdb-csit-1node-southbound-all-{stream},
                 snmp-csit-1node-basic-only-{stream},
                 snmp-csit-1node-basic-all-{stream},
+                topoprocessing-csit-1node-topology-operations-all-{stream},
+                topoprocessing-csit-1node-topology-operations-only-{stream},
                 tsdr-csit-1node-h2-datastore-only-{stream},
                 tsdr-csit-1node-h2-datastore-all-{stream},
                 tsdr-csit-1node-hbase-datastore-only-{stream},
@@ -67,8 +69,6 @@
                 bgpcep-csit-1node-userfeatures-all-{stream},
                 capwap-csit-1node-ac-only-{stream},
                 capwap-csit-1node-ac-all-{stream},
-                controller-csit-1node-netconf-only-{stream},
-                controller-csit-1node-netconf-all-{stream},
                 controller-csit-3node-clustering-only-{stream},
                 controller-csit-3node-clustering-all-{stream},
                 integration-csit-3node-basic-only-{stream},
                 nic-csit-1node-basic-all-{stream},
                 nic-csit-1node-basic-only-{stream},
                 openflowplugin-csit-1node-flow-services-only-{stream},
+                openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream},
                 openflowplugin-csit-1node-flow-services-all-{stream},
-                openflowplugin-csit-1node-flow-services-more-only-{stream},
-                openflowplugin-csit-1node-flow-services-more-all-{stream},
                 openflowplugin-csit-1node-scalability-only-{stream},
+                openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream},
                 openflowplugin-csit-1node-scalability-all-{stream},
                 openflowplugin-csit-1node-cbench-performance-only-{stream},
+                openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream},
                 openflowplugin-csit-1node-config-performance-only-{stream},
+                openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream},
                 ovsdb-csit-1node-netvirt-only-{stream},
                 ovsdb-csit-1node-netvirt-all-{stream},
                 ovsdb-csit-1node-southbound-only-{stream},
             csit-list: >
                 aaa-csit-1node-imds-authn-only-{stream},
                 aaa-csit-1node-imds-authn-all-{stream},
-                controller-csit-1node-imds-netconf-only-{stream},
-                controller-csit-1node-imds-netconf-all-{stream},
                 controller-csit-1node-imds-nsf-only-{stream},
                 controller-csit-1node-imds-nsf-all-{stream},
                 integration-csit-3node-basic-only-{stream},
 
     jdk: 'openjdk7'
 
-    # Trigger jobs (upstream dependencies)
-    trigger-jobs: >
-        odlparent-distribution-{stream},
-        yangtools-distribution-{stream},
-        controller-distribution-{stream},
-        aaa-distribution-{stream},
-        integration-distribution-merge-{stream}
-
 # Template: integration-verify-python
 # Goal: Verify python scripts correct syntax
 # Operation: This job template performs a python tox check on any integration/test patch
         - integration-controller-scope:
             controller-scope: 'only'
         - integration-controller-features:
-            controller-features: 'odl-openflowplugin-flow-services-ui'
+            controller-features: >
+                odl-openflowplugin-flow-services-ui,
+                odl-bgpcep-pcep,
+                odl-bgpcep-bgp,
+                odl-netconf-connector-all
         - integration-test-options:
             test-options: '-e adsal'
         - integration-test-plan:
-            test-plan: 'openflowplugin-flow-services.txt'
+            test-plan: 'test-libraries.txt'
+        - integration-patch-refspec:
+            branch: '$GERRIT_REFSPEC'
 
     scm:
         - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
             basedir: 'test'
-            refspec: '$GERRIT_REFSPEC'
+            refspec: '$PATCHREFSPEC'
             branch: 'master'
 
     wrappers:
             controller-vms: 1
             mininet-image: '{mininet-image}'
             mininet-vms: '{mininet-vms}'
+            mininet-cloud-name: '{mininet-cloud-name}'
         - ssh-agent-credentials:
             users:
                 - '{ssh-credentials}'
             pattern: 'csit/libraries/*'
 
     builders:
+        - integration-cleanup-workspace
+        - integration-install-robotframework
+        - inject:
+            properties-file: 'env.properties'
         - integration-get-slave-addresses
         - inject:
             properties-file: 'slave_addresses.txt'
         - inject:
             properties-file: 'bundle_vars.txt'
         - integration-deploy-controller-run-test
+        - integration-cleanup-tmp
 
     publishers:
         - integration-robot:
             unstable-if: 0.0
-            pass-if: 0.0
+            pass-if: 100.0
         - archive:
-            artifacts: 'karaf.log'
-        - email-notification:
-            email-prefix: '[integration]'
-
-# Template: integration-distribution-offline-{stream}
-# Goal: Verify distribution can start with no internet connection
-# Operation: This job deployes the controller removing any external repository definition
-# whenever there is a change in a kernel project (odlparent, controller, yangtools, etc...)
-
-- job-template:
-    name: 'integration-distribution-offline-{stream}'
-
-    project-type: freestyle
-    node: dynamic_controller
-
-    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: 'integration/distribution'
-        - integration-branch:
-            branch: '{branch}'
-        - integration-bundleurl:
-            bundleurl: 'last'
-
-    wrappers:
-        - build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - reverse:
-            jobs: '{trigger-jobs}'
-            result: 'success'
-
-    builders:
-        - integration-get-bundle-vars
-        - inject:
-            properties-file: 'bundle_vars.txt'
-        - integration-deploy-controller-offline
-
-    publishers:
-        - archive:
-            artifacts: 'karaf.log'
+            artifacts: 'karaf.log*'
         - email-notification:
             email-prefix: '[integration]'
 
             bundleurl: 'last'
 
     triggers:
-        - timed: 'H H * * *'
+        - timed: 'H H * * 6'
 
     builders:
         - trigger-builds:
 
 # Template: integration-patch-test-{stream}
 # Goal: Build a patch and run all available system test on a distribution containing the change
-# Operation: This job teamplate builds a patch, creates a distribution containing the patch, and
+# Operation: This job template builds a patch, creates a distribution containing the patch, and
 # triggers the distribution test when test-integration is used in gerrit comments
 
 - job-template:
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
+        - gerrit-project-parameter:
+            project: '$GERRIT_PROJECT'
+        - gerrit-refspec-parameter:
+            refspec: '$GERRIT_REFSPEC'
         - project-parameter:
             project: '$GERRIT_PROJECT'
         - integration-distribution-git-url
         - inject:
             properties-file: 'bundle.txt'
         - wipe-org-opendaylight-repo
-        - provide-maven-settings:
-            global-settings-file: '{odl-global-settings}'
-            settings-file: '{yangtools-settings}'
         - maven-target:
             maven-version: '{mvn33}'
             pom: '$GERRIT_PROJECT/pom.xml'
-            goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
+            goals: 'clean install -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
             java-opts:
                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
             settings: '{integration-settings}'
     maven:
         maven-name: '{mvn33}'
         root-pom: 'distribution/pom.xml'
-        goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
+        goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+        settings: '{integration-settings}'
+        global-settings: '{odl-global-settings}'
+        ignore-upstream-changes: true
+        post-step-run-condition: 'SUCCESS'
+
+    postbuilders:
+        - trigger-builds:
+            - project: 'integration-distribution-test-{stream}'
+              block: true
+              predefined-parameters:
+                  BUNDLEURL=$BUNDLEURL
+
+    publishers:
+        - email-notification:
+            email-prefix: '[$GERRIT_PROJECT]'
+
+# Template: integration-multipatch-test-{stream}
+# Goal: Build one or more patches and run all available system test on a distribution containing the change
+# Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
+# containing these patches, and triggers the distribution test job which includes most (if not all) available
+# CSIT jobs
+
+- job-template:
+    name: 'integration-multipatch-test-{stream}'
+
+    project-type: maven
+    node: dynamic_verify
+    jdk: '{jdk}'
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - patches-to-build-parameter:
+            patches_to_build: '$PATCHES_TO_BUILD'
+        - integration-branch:
+            branch: '{branch}'
+
+    wrappers:
+        - build-timeout
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    prebuilders:
+        - wipe-org-opendaylight-repo
+        - integration-multipatch-builder
+        - inject:
+            properties-file: 'bundle.txt'
+
+    maven:
+        maven-name: '{mvn33}'
+        root-pom: 'patch_tester/pom.xml'
+        goals: 'clean install -f patch_tester/pom.xml -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
         settings: '{integration-settings}'
         global-settings: '{odl-global-settings}'