Merge "Migrate docs-rtd to archive-builds macro"
[releng/builder.git] / jjb / integration / integration-templates.yaml
index e2926fc10179829e2a893c592073c482819464d7..f96ef155fd36797662780cd4cd8e09db835bb672 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)
         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:
 
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$GERRIT_REFSPEC'
             branch: 'master'
 
     wrappers:
-        - build-timeout
-        - integration-jclouds-controller-mininet:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-openstack-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,*.csv'
         - email-notification:
             email-prefix: '[{project}]'
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-1node-{functionality}-{install}-{stream}'
         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
-        - integration-jclouds-controller-mininet:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-openstack-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,*.csv'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
                 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}'
         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:
-        - integration-jclouds-controller-mininet:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-openstack-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,*.csv'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
                 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}'
         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:
 
     scm:
         - integration-gerrit-scm:
-            credentials-id: '{ssh-credentials}'
             basedir: 'test'
             refspec: '$GERRIT_REFSPEC'
             branch: 'master'
 
     wrappers:
-        - build-timeout
-        - integration-jclouds-controller-mininet:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-openstack-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-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz,*.csv'
         - email-notification:
             email-prefix: '[{project}]'
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-3node-{functionality}-{install}-{stream}'
         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
-        - integration-jclouds-controller-mininet:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-openstack-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-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz,*.csv'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
                 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}'
         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:
-        - integration-jclouds-controller-mininet:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-openstack-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-robot:
             unstable-if: 0.0
             pass-if: 100.0
-        - archive:
-            artifacts: '*.log,*.log.xz,*.csv'
         - email-notification:
             email-prefix: '[{project}]'
         - plot:
                 inclusion-flag: 'off'
                 display-table: true
                 format: csv
-
-- job-template:
-    name: '{project}-openstack-{functionality}-daily-{openstack}-{odl}'
-
-    project-type: freestyle
-    node: dynamic_robot
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-num-to-keep}'
-
-    parameters:
-        - project-parameter:
-            project: 'integration/test'
-        - integration-patch-refspec:
-            branch: 'master'
-        - integration-test-plan:
-            test-plan: '{project}-{functionality}.txt'
-        - string:
-            name: OPENSTACK_BRANCH
-            default: '{openstack-branch}'
-            description: 'Openstack branch to use with devstack'
-        - string:
-            name: ODL_VERSION
-            default: '{odl-version}'
-            description: 'OpenDaylight version to use with devstack + networking_odl project'
-        - string:
-            name: TEMPEST_REGEX
-            default: 'tempest.api.network'
-            description: 'Default grouping of tempest tests to run'
-
-    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)
-    triggers:
-        - integration-csit-all
-
-    builders:
-        - 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-cleanup-tmp
-
-    publishers:
-        - integration-robot:
-            unstable-if: 0.0
-            pass-if: 100.0
-        - archive:
-            artifacts: '*log*'
-        - email-notification:
-            email-prefix: '[{project}]'
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-1node-openstack-{openstack}-{functionality}-{stream}'
         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:
             name: ODL_ENABLE_L3_FWD
             default: '{odl-enable-l3}'
             description: 'Enable L3 FWD in ODL for createing br-ex'
+        - 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
-        - integration-jclouds-controller-devstack:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-openstack-controller-devstack:
+            controller-image: '{controller-image}'
             controller-vms: 1
+            openstack-image: '{openstack-image}'
             openstack-vms: '{openstack-vms}'
-        - ssh-agent-credentials:
-            users:
-              - '{ssh-credentials}'
 
     triggers:
         - integration-csit-all
 
     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*'
         - email-notification:
             email-prefix: '[{project}]'
+        - integration-csit-archive-build
+        - archive-build:
+            maven-version: '{mvn33}'
 
 - job-template:
     name: '{project}-csit-3node-openstack-{openstack}-{functionality}-{stream}'
         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:
             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
-        - integration-jclouds-controller-devstack:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+        - integration-openstack-controller-devstack:
+            controller-image: '{controller-image}'
             controller-vms: 3
+            openstack-image: '{openstack-image}'
             openstack-vms: '{openstack-vms}'
-        - ssh-agent-credentials:
-            users:
-              - '{ssh-credentials}'
 
     triggers:
         - integration-csit-all
 
     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*'
+        - email-notification:
+            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: 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:
+        - 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 -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 -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}]'