Rework the way Java version is set in CSIT jobs
[releng/builder.git] / jjb / integration / integration-templates.yaml
index f69ee328ec9f20829810901bf4463ca812aa4c3b..a3008b4ca002119072585329ac233f4502b76dd2 100644 (file)
@@ -1,5 +1,5 @@
 # Job templates in this file (please update with every new template):
-# 
+#
 # Old templates:
 # {project}-csit-verify-1node-{functionality}-{stream}
 # {project}-csit-1node-imds-{functionality}-{install}-{stream}
@@ -15,7 +15,7 @@
 # Parameters:
 #
 # project-parameter: main project integration/test ($PROJECT)
-# integration-distribution-git-url: distribution GIT ($DISTROGITURL)
+# jre: (openjdk7 or openjdk8) Java runtime environment to use when launching ODL
 # integration-branch: distribution branch ($BRANCH)
 # integration-controller-bundleurl: distribution URL ($BUNDLEURL)
 # integration-controller-scope: only or all features ($CONTROLLERSCOPE)
@@ -30,6 +30,7 @@
 
 - job-template:
     name: '{project}-csit-verify-1node-{functionality}-{stream}'
+    disabled: false
 
     project-type: freestyle
     node: dynamic_robot
@@ -43,7 +44,6 @@
     parameters:
         - project-parameter:
             project: 'integration/test'
-        - integration-distribution-git-url
         - integration-branch:
             branch: 'master'
         - integration-bundleurl:
             test-options: '{robot-options}'
         - integration-test-plan:
             test-plan: '{project}-{functionality}.txt'
+        - integration-jdk-version:
+            jdkversion: '{jre}'
 
     scm:
-        - integration-distribution-scm:
-            credentials-id: '{ssh-credentials}'
-            branch: 'master'
-        - integration-gerrit-test-scm:
+        - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
+            basedir: 'test'
+            refspec: '$GERRIT_REFSPEC'
             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}'
 
     triggers:
-        - integration-test-gerrit-trigger-patch-submitted:
+        - integration-trigger-patch-submitted:
             name: 'integration/test'
-            branch: 'master'
-            project: '{project}'
+            branch: '{branch}'
+            pattern: 'csit/suites/{project}/**'
 
     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'
+            artifacts: 'karaf.log*'
         - email-notification:
             email-prefix: '[{project}]'
 
 - job-template:
     name: '{project}-csit-1node-imds-{functionality}-{install}-{stream}'
+    disabled: false
 
     project-type: freestyle
     node: dynamic_robot
     parameters:
         - project-parameter:
             project: 'integration/test'
-        - integration-distribution-git-url
         - integration-branch:
             branch: '{branch}'
         - integration-bundleurl:
             test-plan: '{project}-{functionality}.txt'
         - integration-patch-refspec:
             branch: 'stable/helium'
+        - integration-jdk-version:
+            jdkversion: '{jre}'
 
     scm:
-        - integration-distribution-scm:
-            credentials-id: '{ssh-credentials}'
-            branch: '{branch}'
-        - integration-test-scm:
+        - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
-            branch: 'stable/helium'
+            basedir: 'test'
+            refspec: '$PATCHREFSPEC'
+            branch: 'master'
 
     wrappers:
         - build-timeout
             controller-vms: 1
             mininet-image: '{mininet-image}'
             mininet-vms: '{mininet-vms}'
+            mininet-cloud-name: '{mininet-cloud-name}'
         - ssh-agent-credentials:
             users:
                 - '{ssh-credentials}'
 
+
     triggers:
-        - reverse:
+        - integration-csit-{install}:
             jobs: '{trigger-jobs}'
-            result: 'success'
 
     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: 100.0
         - archive:
-            artifacts: 'karaf.log'
+            artifacts: 'karaf.log*'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
 
 - job-template:
     name: '{project}-csit-verify-1node-{functionality}'
+    disabled: false
 
     project-type: freestyle
     node: dynamic_robot
     parameters:
         - project-parameter:
             project: 'integration/test'
-        - integration-distribution-git-url
         - integration-branch:
-            branch: 'master'
+            branch: 'stable/beryllium'
         - integration-bundleurl:
             bundleurl: 'last'
         - integration-controller-scope:
             test-options: '{robot-options}'
         - integration-test-plan:
             test-plan: '{project}-{functionality}.txt'
+        - integration-jdk-version:
+            jdkversion: 'openjdk7'
+            # TODO: Switch to openjdk8 from Boron on.
 
     scm:
-        - integration-distribution-scm:
-            credentials-id: '{ssh-credentials}'
-            branch: 'master'
-        - integration-gerrit-test-scm:
+        - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
+            basedir: 'test'
+            refspec: '$GERRIT_REFSPEC'
             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}'
 
     triggers:
-        - integration-test-gerrit-trigger-patch-submitted:
+        - integration-trigger-patch-submitted:
             name: 'integration/test'
             branch: 'master'
-            project: '{project}'
+            pattern: 'csit/suites/{project}/**'
 
     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'
+            artifacts: 'karaf.log*'
         - email-notification:
             email-prefix: '[{project}]'
 
 - job-template:
     name: '{project}-csit-1node-{functionality}-{install}-{stream}'
+    disabled: false
 
     project-type: freestyle
     node: dynamic_robot
     parameters:
         - project-parameter:
             project: 'integration/test'
-        - integration-distribution-git-url
         - integration-branch:
             branch: '{branch}'
         - integration-bundleurl:
             test-plan: '{project}-{functionality}.txt'
         - integration-patch-refspec:
             branch: 'master'
+        - integration-jdk-version:
+            jdkversion: '{jre}'
 
     scm:
-        - integration-distribution-scm:
-            credentials-id: '{ssh-credentials}'
-            branch: '{branch}'
-        - integration-test-scm:
+        - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
+            basedir: 'test'
+            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}'
 
     triggers:
-        - reverse:
+        - integration-csit-{install}:
             jobs: '{trigger-jobs}'
-            result: 'success'
 
     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: 100.0
         - archive:
-            artifacts: 'karaf.log'
+            artifacts: 'karaf.log*'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
 
 - job-template:
     name: '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+    disabled: false
 
     project-type: freestyle
     node: dynamic_robot
     parameters:
         - project-parameter:
             project: 'integration/test'
-        - integration-distribution-git-url
         - integration-branch:
             branch: '{branch}'
         - integration-bundleurl:
             test-plan: '{project}-{functionality}.txt'
         - integration-patch-refspec:
             branch: 'master'
+        - integration-jdk-version:
+            jdkversion: '{jre}'
 
     scm:
-        - integration-distribution-scm:
-            credentials-id: '{ssh-credentials}'
-            branch: '{branch}'
-        - integration-test-scm:
+        - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
+            basedir: 'test'
+            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}'
         - timed: '{schedule}'
 
     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: 100.0
         - archive:
-            artifacts: 'karaf.log'
+            artifacts: '*.log,karaf.log*'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
 
 - job-template:
     name: '{project}-csit-verify-3node-{functionality}'
+    disabled: false
 
     project-type: freestyle
     node: dynamic_robot
     parameters:
         - project-parameter:
             project: 'integration/test'
-        - integration-distribution-git-url
         - integration-branch:
-            branch: 'master'
+            branch: 'stable/beryllium'
         - integration-bundleurl:
             bundleurl: 'last'
         - integration-controller-scope:
             test-options: '{robot-options}'
         - integration-test-plan:
             test-plan: '{project}-{functionality}.txt'
+        - integration-jdk-version:
+            jdkversion: 'openjdk7'
+            # TODO: Switch to openjdk8 from Boron on.
 
     scm:
-        - integration-distribution-scm:
-            credentials-id: '{ssh-credentials}'
-            branch: 'master'
-        - integration-gerrit-test-scm:
+        - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
+            basedir: 'test'
+            refspec: '$GERRIT_REFSPEC'
             branch: 'master'
 
     wrappers:
             controller-vms: 3
             mininet-image: '{mininet-image}'
             mininet-vms: '{mininet-vms}'
+            mininet-cloud-name: '{mininet-cloud-name}'
         - ssh-agent-credentials:
             users:
                 - '{ssh-credentials}'
 
     triggers:
-        - integration-test-gerrit-trigger-patch-submitted:
+        - integration-trigger-patch-submitted:
             name: 'integration/test'
             branch: 'master'
-            project: '{project}'
+            pattern: 'csit/suites/{project}/**'
 
     builders:
+        - integration-cleanup-workspace
+        - integration-install-robotframework
+        - inject:
+            properties-file: 'env.properties'
         - integration-get-slave-addresses
         - inject:
             properties-file: 'slave_addresses.txt'
         - integration-deploy-controller
         - integration-configure-clustering
         - integration-start-cluster-run-test
+        - integration-cleanup-tmp
+
     publishers:
         - integration-robot:
             unstable-if: 0.0
-            pass-if: 0.0
+            pass-if: 100.0
         - archive:
-            artifacts: '*karaf.log'
+            artifacts: '*karaf.log*'
         - email-notification:
             email-prefix: '[{project}]'
 
 - job-template:
     name: '{project}-csit-3node-{functionality}-{install}-{stream}'
+    disabled: false
 
     project-type: freestyle
     node: dynamic_robot
     parameters:
         - project-parameter:
             project: 'integration/test'
-        - integration-distribution-git-url
         - integration-branch:
             branch: '{branch}'
         - integration-bundleurl:
             test-plan: '{project}-{functionality}.txt'
         - integration-patch-refspec:
             branch: 'master'
+        - integration-jdk-version:
+            jdkversion: '{jre}'
 
     scm:
-        - integration-distribution-scm:
-            credentials-id: '{ssh-credentials}'
-            branch: '{branch}'
-        - integration-test-scm:
+        - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
+            basedir: 'test'
+            refspec: '$PATCHREFSPEC'
             branch: 'master'
 
     wrappers:
             controller-vms: 3
             mininet-image: '{mininet-image}'
             mininet-vms: '{mininet-vms}'
+            mininet-cloud-name: '{mininet-cloud-name}'
         - ssh-agent-credentials:
             users:
                 - '{ssh-credentials}'
 
     triggers:
-        - reverse:
+        - integration-csit-{install}:
             jobs: '{trigger-jobs}'
-            result: 'success'
 
     builders:
+        - integration-cleanup-workspace
+        - integration-install-robotframework
+        - inject:
+            properties-file: 'env.properties'
         - integration-get-slave-addresses
         - inject:
             properties-file: 'slave_addresses.txt'
         - integration-deploy-controller
         - integration-configure-clustering
         - integration-start-cluster-run-test
+        - integration-cleanup-tmp
 
     publishers:
         - integration-robot:
             unstable-if: 0.0
             pass-if: 100.0
         - archive:
-            artifacts: '*karaf.log'
+            artifacts: '*karaf.log*'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
 
 - job-template:
     name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+    disabled: false
 
     project-type: freestyle
     node: dynamic_robot
     parameters:
         - project-parameter:
             project: 'integration/test'
-        - integration-distribution-git-url
         - integration-branch:
             branch: '{branch}'
         - integration-bundleurl:
             test-plan: '{project}-{functionality}.txt'
         - integration-patch-refspec:
             branch: 'master'
+        - integration-jdk-version:
+            jdkversion: '{jre}'
 
     scm:
-        - integration-distribution-scm:
-            credentials-id: '{ssh-credentials}'
-            branch: '{branch}'
-        - integration-test-scm:
+        - integration-gerrit-scm:
             credentials-id: '{ssh-credentials}'
+            basedir: 'test'
+            refspec: '$PATCHREFSPEC'
             branch: 'master'
 
     wrappers:
             controller-vms: 3
             mininet-image: '{mininet-image}'
             mininet-vms: '{mininet-vms}'
+            mininet-cloud-name: '{mininet-cloud-name}'
         - ssh-agent-credentials:
             users:
                 - '{ssh-credentials}'
         - timed: '{schedule}'
 
     builders:
+        - integration-cleanup-workspace
+        - integration-install-robotframework
+        - inject:
+            properties-file: 'env.properties'
         - integration-get-slave-addresses
         - inject:
             properties-file: 'slave_addresses.txt'
         - integration-deploy-controller
         - integration-configure-clustering
         - integration-start-cluster-run-test
+        - integration-cleanup-tmp
 
     publishers:
         - integration-robot:
             unstable-if: 0.0
             pass-if: 100.0
         - archive:
-            artifacts: '*karaf.log'
+            artifacts: '*karaf.log*'
         - email-notification:
             email-prefix: '[{project}]'
         - plot: