Merge "Migrate l2switch matrix-verify jobs to freestyle-verify jobs"
[releng/builder.git] / jjb / integration / integration-templates.yaml
index ad6414cde91af47efdff5674763777c19dcaa807..ce39d849c2a906cb7ab8750f9c434664b7b9ccd3 100644 (file)
@@ -10,7 +10,7 @@
 #
 # Parameters:
 #
-# project-parameter: main project integration/test ($PROJECT)
+# opendaylight-infra-parameters: main project integration/test ($PROJECT)
 # jre: (openjdk7 or openjdk8) Java runtime environment to use when launching ODL
 # integration-branch: distribution branch ($BRANCH)
 # integration-controller-bundleurl: distribution URL ($BUNDLEURL)
@@ -29,7 +29,7 @@
     disabled: false
 
     project-type: freestyle
-    node: dynamic_robot
+    node: centos7-robot-2c-2g
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-num-to-keep}'
 
     parameters:
-        - project-parameter:
+        - opendaylight-infra-parameters:
             project: 'integration/test'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
         - integration-branch:
             branch: 'stable/beryllium'
         - integration-distribution-stream:
@@ -53,7 +56,7 @@
         - integration-test-options:
             test-options: '{robot-options}'
         - integration-stream-test-plan:
-            stream-test-plan: '{project}-{functionality}-{stream}.txt'
+            stream-test-plan: '{project}-{functionality}-beryllium.txt'
         - integration-test-plan:
             test-plan: '{project}-{functionality}.txt'
         - integration-jdk-version:
 
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$GERRIT_REFSPEC'
             branch: 'master'
 
     wrappers:
-        - build-timeout
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
         - integration-jclouds-controller-mininet:
+            controller-image: '{controller-image}'
             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-trigger-patch-submitted:
@@ -85,6 +85,7 @@
             pattern: 'csit/suites/{project}/**'
 
     builders:
+        - integration-copy-ssh-keys
         - integration-cleanup-workspace
         - integration-install-robotframework
         - inject:
         - integration-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz'
         - email-notification:
             email-prefix: '[{project}]'
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-1node-{functionality}-{install}-{stream}'
     disabled: false
 
     project-type: freestyle
-    node: dynamic_robot
+    node: centos7-robot-2c-2g
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-num-to-keep}'
 
     parameters:
-        - project-parameter:
+        - opendaylight-infra-parameters:
             project: 'integration/test'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
         - integration-branch:
             branch: '{branch}'
         - integration-distribution-stream:
 
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$PATCHREFSPEC'
             branch: 'master'
 
     wrappers:
-        - build-timeout
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
         - integration-jclouds-controller-mininet:
+            controller-image: '{controller-image}'
             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-csit-{install}:
             jobs: '{trigger-jobs}'
 
     builders:
+        - integration-copy-ssh-keys
         - integration-cleanup-workspace
         - integration-install-robotframework
         - inject:
         - integration-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
             yaxis: '{01-plot-yaxis}'
             group: '{01-plot-group}'
             num-builds: '5400'
+            keep-records: true
             style: line
             use-description: false
             csv-file-name: '{project}-csit-1node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
             yaxis: '{02-plot-yaxis}'
             group: '{02-plot-group}'
             num-builds: '5400'
+            keep-records: true
             style: line
             use-description: false
             csv-file-name: '{project}-csit-1node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
                 inclusion-flag: 'off'
                 display-table: true
                 format: csv
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
     disabled: false
 
     project-type: freestyle
-    node: dynamic_robot
+    node: centos7-robot-2c-2g
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-num-to-keep}'
 
     parameters:
-        - project-parameter:
+        - opendaylight-infra-parameters:
             project: 'integration/test'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
         - integration-branch:
             branch: '{branch}'
         - integration-distribution-stream:
 
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$PATCHREFSPEC'
             branch: 'master'
 
     wrappers:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
         - integration-jclouds-controller-mininet:
+            controller-image: '{controller-image}'
             controller-vms: 1
             mininet-image: '{mininet-image}'
             mininet-vms: '{mininet-vms}'
-            mininet-cloud-name: '{mininet-cloud-name}'
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
 
     triggers:
         - timed: '{schedule}'
 
     builders:
+        - integration-copy-ssh-keys
         - integration-cleanup-workspace
         - integration-install-robotframework
         - inject:
         - integration-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
             yaxis: '{01-plot-yaxis}'
             group: '{01-plot-group}'
             num-builds: '180'
+            keep-records: true
             style: line
             use-description: false
             csv-file-name: '{project}-csit-periodic-1node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
             yaxis: '{02-plot-yaxis}'
             group: '{02-plot-group}'
             num-builds: '180'
+            keep-records: true
             style: line
             use-description: false
             csv-file-name: '{project}-csit-periodic-1node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
                 inclusion-flag: 'off'
                 display-table: true
                 format: csv
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-verify-3node-{functionality}'
     disabled: false
 
     project-type: freestyle
-    node: dynamic_robot
+    node: centos7-robot-2c-2g
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-num-to-keep}'
 
     parameters:
-        - project-parameter:
+        - opendaylight-infra-parameters:
             project: 'integration/test'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
         - integration-branch:
             branch: 'stable/beryllium'
         - integration-distribution-stream:
         - integration-controller-scope:
             controller-scope: 'only'
         - integration-controller-features:
-            controller-features: '{install-features}'
+            controller-features: 'odl-jolokia,{install-features}'
         - integration-test-options:
             test-options: '{robot-options}'
         - integration-stream-test-plan:
-            stream-test-plan: '{project}-{functionality}-{stream}.txt'
+            stream-test-plan: '{project}-{functionality}-beryllium.txt'
         - integration-test-plan:
             test-plan: '{project}-{functionality}.txt'
         - integration-jdk-version:
 
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$GERRIT_REFSPEC'
             branch: 'master'
 
     wrappers:
-        - build-timeout
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
         - integration-jclouds-controller-mininet:
+            controller-image: '{controller-image}'
             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-trigger-patch-submitted:
             pattern: 'csit/suites/{project}/**'
 
     builders:
+        - integration-copy-ssh-keys
         - integration-cleanup-workspace
         - integration-install-robotframework
         - inject:
         - integration-get-bundle-vars
         - inject:
             properties-file: 'bundle_vars.txt'
-        - integration-deploy-controller
         - integration-configure-clustering
         - integration-start-cluster-run-test
         - integration-cleanup-tmp
         - integration-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz'
         - email-notification:
             email-prefix: '[{project}]'
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-3node-{functionality}-{install}-{stream}'
     disabled: false
 
     project-type: freestyle
-    node: dynamic_robot
+    node: centos7-robot-2c-2g
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-num-to-keep}'
 
     parameters:
-        - project-parameter:
+        - opendaylight-infra-parameters:
             project: 'integration/test'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
         - integration-branch:
             branch: '{branch}'
         - integration-distribution-stream:
         - integration-controller-scope:
             controller-scope: '{scope}'
         - integration-controller-features:
-            controller-features: '{install-features}'
+            controller-features: 'odl-jolokia,{install-features}'
         - integration-test-options:
             test-options: '{robot-options}'
         - integration-stream-test-plan:
 
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$PATCHREFSPEC'
             branch: 'master'
 
     wrappers:
-        - build-timeout
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
         - integration-jclouds-controller-mininet:
+            controller-image: '{controller-image}'
             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-csit-{install}:
             jobs: '{trigger-jobs}'
 
     builders:
+        - integration-copy-ssh-keys
         - integration-cleanup-workspace
         - integration-install-robotframework
         - inject:
         - integration-get-bundle-vars
         - inject:
             properties-file: 'bundle_vars.txt'
-        - integration-deploy-controller
         - integration-configure-clustering
         - integration-start-cluster-run-test
         - integration-cleanup-tmp
         - integration-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
             yaxis: '{01-plot-yaxis}'
             group: '{01-plot-group}'
             num-builds: '5400'
+            keep-records: true
             style: line
             use-description: false
             csv-file-name: '{project}-csit-3node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
             yaxis: '{02-plot-yaxis}'
             group: '{02-plot-group}'
             num-builds: '5400'
+            keep-records: true
             style: line
             use-description: false
             csv-file-name: '{project}-csit-3node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
                 inclusion-flag: 'off'
                 display-table: true
                 format: csv
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
     disabled: false
 
     project-type: freestyle
-    node: dynamic_robot
+    node: centos7-robot-2c-2g
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-num-to-keep}'
 
     parameters:
-        - project-parameter:
+        - opendaylight-infra-parameters:
             project: 'integration/test'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
         - integration-branch:
             branch: '{branch}'
         - integration-distribution-stream:
         - integration-controller-scope:
             controller-scope: '{scope}'
         - integration-controller-features:
-            controller-features: '{install-features}'
+            controller-features: 'odl-jolokia,{install-features}'
         - integration-test-options:
             test-options: '{robot-options}'
         - integration-stream-test-plan:
 
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$PATCHREFSPEC'
             branch: 'master'
 
     wrappers:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
         - integration-jclouds-controller-mininet:
+            controller-image: '{controller-image}'
             controller-vms: 3
             mininet-image: '{mininet-image}'
             mininet-vms: '{mininet-vms}'
-            mininet-cloud-name: '{mininet-cloud-name}'
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
 
     triggers:
         - timed: '{schedule}'
 
     builders:
+        - integration-copy-ssh-keys
         - integration-cleanup-workspace
         - integration-install-robotframework
         - inject:
         - integration-get-bundle-vars
         - inject:
             properties-file: 'bundle_vars.txt'
-        - integration-deploy-controller
         - integration-configure-clustering
         - integration-start-cluster-run-test
         - integration-cleanup-tmp
         - integration-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
             yaxis: '{01-plot-yaxis}'
             group: '{01-plot-group}'
             num-builds: '5400'
+            keep-records: true
             style: line
             use-description: false
             csv-file-name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
             yaxis: '{02-plot-yaxis}'
             group: '{02-plot-group}'
             num-builds: '5400'
+            keep-records: true
             style: line
             use-description: false
             csv-file-name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
                 inclusion-flag: 'off'
                 display-table: true
                 format: csv
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
-    name: '{project}-openstack-{functionality}-daily-{openstack}-{odl}'
+    name: '{project}-csit-1node-openstack-{openstack}-{functionality}-{stream}'
+    disabled: false
 
     project-type: freestyle
-    node: dynamic_robot
+    node: centos7-robot-2c-2g
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-num-to-keep}'
 
     parameters:
-        - project-parameter:
+        - opendaylight-infra-parameters:
             project: 'integration/test'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
+        - integration-branch:
+            branch: '{branch}'
+        - integration-distribution-stream:
+            stream: '{stream}'
+        - integration-bundleurl:
+            bundleurl: 'last'
+        - integration-controller-features:
+            controller-features: '{install-features}'
+        - integration-test-plan:
+            test-plan: '{project}-1node-openstack.txt'
         - integration-patch-refspec:
             branch: 'master'
-        - integration-test-plan:
-            test-plan: '{project}-{functionality}.txt'
+        - integration-jdk-version:
+            jdkversion: '{jre}'
         - string:
             name: OPENSTACK_BRANCH
             default: '{openstack-branch}'
-            description: 'Openstack branch to use with devstack'
+            description: 'Openstack version to use with devstack'
         - string:
-            name: ODL_VERSION
-            default: '{odl-version}'
-            description: 'OpenDaylight version to use with devstack + networking_odl project'
+            name: ODL_ML2_DRIVER_REPO
+            default: 'https://github.com/openstack/networking-odl'
+            description: 'URL to fetch networking-odl driver'
         - string:
-            name: TEMPEST_REGEX
-            default: 'tempest.api.network'
-            description: 'Default grouping of tempest tests to run'
-        - integration-test-plan:
-            test-plan: '{project}-{functionality}.txt'
+            name: ODL_ML2_VERSION
+            default: '{odl-ml2-version}'
+            description: 'Version of networking-odl to checkout from the repo'
+        - string:
+            name: ODL_ENABLE_L3_FWD
+            default: '{odl-enable-l3}'
+            description: 'Enable L3 FWD in ODL for createing br-ex'
+        - string:
+            name: PUBLIC_BRIDGE
+            default: '{public-bridge}'
+            description: 'Specifies public bridge for provider and external networking'
+        - string:
+            name: ENABLE_OS_SERVICES
+            default: '{enable-openstack-services}'
+            description: 'comma seperated list of services to enable'
+        - string:
+            name: DISABLE_OS_SERVICES
+            default: '{disable-openstack-services}'
+            description: 'comma seperated list of services to enable'
+        - string:
+            name: TENANT_NETWORK_TYPE
+            default: '{tenant-network-type}'
+            description: 'Tenant Network Type supported by the implementation'
+    scm:
+        - integration-gerrit-scm:
+            basedir: 'test'
+            refspec: '$PATCHREFSPEC'
+            branch: 'master'
+
+    wrappers:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-jclouds-controller-devstack:
+            controller-image: '{controller-image}'
+            controller-vms: 1
+            openstack-image: '{openstack-image}'
+            openstack-vms: '{openstack-vms}'
+
+    triggers:
+        - integration-csit-all
+
+    builders:
+        - integration-copy-ssh-keys
+        - integration-cleanup-workspace
+        - integration-install-robotframework
+        - inject:
+            properties-file: 'env.properties'
+        - integration-get-slave-addresses
+        - inject:
+            properties-file: 'slave_addresses.txt'
+        - integration-get-bundle-vars
+        - inject:
+            properties-file: 'bundle_vars.txt'
+        - integration-deploy-controller-run-test
+        - integration-deploy-openstack-run-test
+        - integration-cleanup-tmp
+
+    publishers:
+        - integration-robot-tempest:
+            unstable-if: 0.0
+            pass-if: 100.0
+        - email-notification:
+            email-prefix: '[{project}]'
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
+
+- job-template:
+    name: '{project}-csit-3node-openstack-{openstack}-{functionality}-{stream}'
+    disabled: false
+
+    project-type: freestyle
+    node: centos7-robot-2c-2g
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-num-to-keep}'
 
+    parameters:
+        - opendaylight-infra-parameters:
+            project: 'integration/test'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
+        - integration-branch:
+            branch: '{branch}'
+        - integration-distribution-stream:
+            stream: '{stream}'
+        - integration-bundleurl:
+            bundleurl: 'last'
+        - integration-controller-features:
+            controller-features: 'odl-jolokia,{install-features}'
+        - integration-test-plan:
+            test-plan: '{project}-3node-openstack.txt'
+        - integration-patch-refspec:
+            branch: 'master'
+        - integration-jdk-version:
+            jdkversion: '{jre}'
+        - string:
+            name: OPENSTACK_BRANCH
+            default: '{openstack-branch}'
+            description: 'Openstack version to use with devstack'
+        - string:
+            name: ODL_ML2_DRIVER_REPO
+            default: 'https://github.com/openstack/networking-odl'
+            description: 'URL to fetch networking-odl driver'
+        - string:
+            name: ODL_ML2_VERSION
+            default: '{odl-ml2-version}'
+            description: 'Version of networking-odl to checkout from the repo'
+        - string:
+            name: ODL_ENABLE_L3_FWD
+            default: '{odl-enable-l3}'
+            description: 'Enable L3 FWD in ODL for createing br-ex'
+        - string:
+            name: ENABLE_HAPROXY_FOR_NEUTRON
+            default: '{enable-haproxy}'
+            description: 'Enable HAProxy for using neutron interface as HA'
+        - string:
+            name: ENABLE_OS_SERVICES
+            default: '{enable-openstack-services}'
+            description: 'comma seperated list of services to enable'
+        - string:
+            name: DISABLE_OS_SERVICES
+            default: '{disable-openstack-services}'
+            description: 'comma seperated list of services to enable'
+        - string:
+            name: TENANT_NETWORK_TYPE
+            default: '{tenant-network-type}'
+            description: 'Tenant Network Type supported by the implementation'
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$PATCHREFSPEC'
             branch: 'master'
 
     wrappers:
-          - build-timeout
-          - jclouds:
-              instances:
-                - rk-c7-devstack:
-                    cloud-name: 'Rackspace DFW - Devstack'
-                    count: '1'
-                    stop-on-terminate: False
-          - ssh-agent-credentials:
-              users:
-                  - '{ssh-credentials}'
-
-    # Trigger jobs (daily)
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-jclouds-controller-devstack:
+            controller-image: '{controller-image}'
+            controller-vms: 3
+            openstack-image: '{openstack-image}'
+            openstack-vms: '{openstack-vms}'
+
     triggers:
         - integration-csit-all
 
     builders:
+        - integration-copy-ssh-keys
+        - integration-cleanup-workspace
         - integration-install-robotframework
         - inject:
             properties-file: 'env.properties'
         - integration-get-slave-addresses
         - inject:
             properties-file: 'slave_addresses.txt'
-        - include-raw-integration-deploy-devstack-testing
+        - integration-get-bundle-vars
+        - inject:
+            properties-file: 'bundle_vars.txt'
+        - integration-configure-clustering
+        - integration-start-cluster-run-test
+        - integration-deploy-openstack-run-test
         - integration-cleanup-tmp
 
     publishers:
-        - integration-robot:
+        - integration-robot-tempest:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*log*'
         - email-notification:
-            email-prefix: '[project]'
+            email-prefix: '[{project}]'
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
+
+# Template: {project}-patch-test-{stream}
+# Goal: Build a patch and run project specific system test on a distribution containing the change
+# Operation: This job template builds a patch, creates a distribution containing the patch, and
+# triggers the project system test defined in {csit-list} when gerrit receives test-{project} keyword
+
+- job-template:
+    name: '{project}-patch-test-{stream}'
+
+    project-type: maven
+    node: centos7-java-builder-2c-8g
+    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:
+        - opendaylight-infra-parameters:
+            project: '{project}'
+            branch: '{branch}'
+            refspec: '$GERRIT_REFSPEC'
+            artifacts: '{archive-artifacts}'
+        - integration-branch:
+            branch: '{branch}'
+        - integration-distribution-git-url
+
+    scm:
+        - integration-gerrit-scm:
+            basedir: '{project}'
+            refspec: '$GERRIT_REFSPEC'
+            branch: '{branch}'
+        - integration-distribution-scm:
+            branch: '{branch}'
+
+    wrappers:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+
+    triggers:
+        - gerrit:
+            server-name: 'OpenDaylight'
+            trigger-on:
+                - comment-added-contains-event:
+                    comment-contains-value: 'test-{project}'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: '{project}'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+            skip-vote:
+                successful: true
+                failed: true
+                unstable: true
+                notbuilt: true
+
+    prebuilders:
+        - integration-rebase-gerrit-patch
+        - integration-get-bundle-url
+        - inject:
+            properties-file: 'bundle.txt'
+        - wipe-org-opendaylight-repo
+        - provide-maven-settings:
+            global-settings-file: 'odl-global-settings'
+            settings-file: 'integration-settings'
+        - maven-target:
+            maven-version: '{mvn33}'
+            pom: '{project}/pom.xml'
+            goals: 'clean install dependency:tree -V -B -Djenkins -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 -Dstream={stream}'
+            java-opts:
+                - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+            settings: 'integration-settings'
+            settings-type: cfp
+            global-settings: 'odl-global-settings'
+            global-settings-type: cfp
+
+    maven:
+        maven-name: '{mvn33}'
+        root-pom: 'distribution/pom.xml'
+        goals: 'clean install dependency:tree -V -B -Djenkins -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'
+        settings-type: cfp
+        global-settings: 'odl-global-settings'
+        global-settings-type: cfp
+        ignore-upstream-changes: true
+        post-step-run-condition: 'SUCCESS'
+
+    postbuilders:
+        - trigger-builds:
+            - project: '{csit-list}'
+              block: true
+              predefined-parameters:
+                  BUNDLEURL=$BUNDLEURL
+
+    publishers:
+        - email-notification:
+            email-prefix: '[{project}]'