Add option checkout devstack commit
[releng/builder.git] / jjb / integration / integration-templates.yaml
index 3b46c1324da7c287349a8c1eaa1b357aec95951b..cdf9d9af9dbc7087ac02c36dbe4faffc31988638 100644 (file)
@@ -15,7 +15,7 @@
 # opendaylight-infra-parameters: main project integration/test ($PROJECT)
 # jre: (openjdk7 or openjdk8) Java runtime environment to use when launching ODL
 # integration-distribution-branch: distribution branch ($DISTROBRANCH)
-# integration-controller-bundleurl: distribution URL ($BUNDLEURL)
+# integration-controller-bundle-url: distribution URL ($BUNDLE_URL)
 # integration-controller-scope: only or all features ($CONTROLLERSCOPE)
 # integration-controller-features: features under test ($CONTROLLER FEATURES)
 # integration-test-options: robot options ($TESTOPTIONS)
@@ -48,8 +48,8 @@
           branch: '{verify-branch}'
       - integration-distribution-stream:
           stream: '{verify-stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-scope:
           controller-scope: 'only'
       - integration-controller-features:
@@ -62,6 +62,8 @@
           test-plan: '{project}-{functionality}.txt'
       - integration-jdk-version:
           jdkversion: '{verify-jdkversion}'
+      - distribution-karaf-version:
+          karaf-version: '{verify-karaf-version}'
 
     scm:
       - integration-gerrit-scm:
@@ -95,9 +97,7 @@
       - integration-get-slave-addresses
       - inject:
           properties-file: 'slave_addresses.txt'
-      - integration-get-bundle-vars
-      - inject:
-          properties-file: 'bundle_vars.txt'
+      - integration-detect-variables
       - integration-deploy-controller-run-test
       - integration-cleanup-tmp
 
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 - job-template:
     name: '{project}-csit-1node-{functionality}-{install}-{stream}'
+    # Keep synchronized with *-csit4-*-carbon please.
     disabled: false
 
     project-type: freestyle
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-scope:
           controller-scope: '{scope}'
       - integration-controller-features:
           branch: 'master'
       - integration-jdk-version:
           jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
 
     scm:
       - integration-gerrit-scm:
           refspec: '$PATCHREFSPEC'
           branch: 'master'
 
+    triggers:
+      # we need this for not SR projects
+      - integration-csit-trigger:
+          jobs: '{trigger-jobs}'
+
     wrappers:
       - opendaylight-infra-wrappers:
           build-timeout: '{build-timeout}'
       - integration-get-slave-addresses
       - inject:
           properties-file: 'slave_addresses.txt'
-      - integration-get-bundle-vars
-      - inject:
-          properties-file: 'bundle_vars.txt'
+      - integration-detect-variables
       - integration-deploy-controller-run-test
       - integration-cleanup-tmp
 
                 display-table: true
                 format: csv
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 - job-template:
     name: '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-scope:
           controller-scope: '{scope}'
       - integration-controller-features:
           branch: 'master'
       - integration-jdk-version:
           jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
 
     scm:
       - integration-gerrit-scm:
       - integration-get-slave-addresses
       - inject:
           properties-file: 'slave_addresses.txt'
-      - integration-get-bundle-vars
-      - inject:
-          properties-file: 'bundle_vars.txt'
+      - integration-detect-variables
       - integration-deploy-controller-run-test
       - integration-cleanup-tmp
 
                 exclude: '{10-exclude-value}'
                 format: csv
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 - job-template:
     name: '{project}-csit-verify-3node-{functionality}'
           branch: '{verify-branch}'
       - integration-distribution-stream:
           stream: '{verify-stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-scope:
           controller-scope: 'only'
       - integration-controller-features:
           test-plan: '{project}-{functionality}.txt'
       - integration-jdk-version:
           jdkversion: '{verify-jdkversion}'
+      - distribution-karaf-version:
+          karaf-version: '{verify-karaf-version}'
 
     scm:
       - integration-gerrit-scm:
       - integration-get-slave-addresses
       - inject:
           properties-file: 'slave_addresses.txt'
-      - integration-get-bundle-vars
-      - inject:
-          properties-file: 'bundle_vars.txt'
+      - integration-detect-variables
       - integration-configure-clustering
       - integration-start-cluster-run-test
       - integration-cleanup-tmp
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 - job-template:
     name: '{project}-csit-3node-{functionality}-{install}-{stream}'
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-scope:
           controller-scope: '{scope}'
       - integration-controller-features:
           branch: 'master'
       - integration-jdk-version:
           jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
 
     scm:
       - integration-gerrit-scm:
       - integration-get-slave-addresses
       - inject:
           properties-file: 'slave_addresses.txt'
-      - integration-get-bundle-vars
-      - inject:
-          properties-file: 'bundle_vars.txt'
+      - integration-detect-variables
       - integration-configure-clustering
       - integration-start-cluster-run-test
       - integration-cleanup-tmp
                 display-table: true
                 format: csv
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 - job-template:
     name: '{project}-csit-3node-docker-{functionality}-{install}-{stream}'
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-scope:
           controller-scope: '{scope}'
       - integration-controller-features:
           branch: 'master'
       - integration-jdk-version:
           jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
 
     scm:
       - integration-gerrit-scm:
       - integration-get-slave-addresses
       - inject:
           properties-file: 'slave_addresses.txt'
-      - integration-get-bundle-vars
-      - inject:
-          properties-file: 'bundle_vars.txt'
+      - integration-detect-variables
       - integration-configure-clustering
       - integration-start-cluster-run-test
       - integration-cleanup-tmp
                 display-table: true
                 format: csv
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 - job-template:
     name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-scope:
           controller-scope: '{scope}'
       - integration-controller-features:
           branch: 'master'
       - integration-jdk-version:
           jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
 
     scm:
       - integration-gerrit-scm:
       - integration-get-slave-addresses
       - inject:
           properties-file: 'slave_addresses.txt'
-      - integration-get-bundle-vars
-      - inject:
-          properties-file: 'bundle_vars.txt'
+      - integration-detect-variables
       - integration-configure-clustering
       - integration-start-cluster-run-test
       - integration-cleanup-tmp
                 exclude: '{10-exclude-value}'
                 format: csv
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 - job-template:
     name: '{project}-csit-hwvtep-{topology}-openstack-{openstack}-{functionality}-{stream}'
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-features:
           controller-features: '{install-features}'
+      - integration-controller-debug-map:
+          controller-debug-map: '{debug-map}'
       - integration-test-options:
           test-options: '{robot-options}'
       - integration-test-plan:
           test-plan: '{testplan}'
+      - integration-test-suites:
+          test-suites: '{test-suites}'
       - integration-patch-refspec:
           branch: 'master'
       - integration-jdk-version:
           jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
       - string:
           name: OPENSTACK_BRANCH
           default: '{openstack-branch}'
           description: 'Openstack version to use with devstack'
+      - string:
+          name: DEVSTACK_HASH
+          default: '{devstack-hash}'
+          description: 'devstack hash to checkout'
       - string:
           name: ODL_ML2_DRIVER_REPO
           default: '{odl-ml2-driver-repo}'
           default: '{lbaas-service-provider}'
           description: 'The NEUTRON_LBAAS_SERVICE_PROVIDERV2 value to be used in local.conf - only relevant when using
           neutron-lbaas'
+      - string:
+          name: ODL_SFC_DRIVER
+          default: '{odl-sfc-driver}'
+          description: 'The SFC driver to be used in local.conf - only relevant when using networking-sfc'
+      - string:
+          name: ODL_SNAT_MODE
+          default: '{odl-snat-mode}'
+          description: 'The SNAT mode to be configured - options are conntrack/controller.'
     scm:
       - integration-gerrit-scm:
           basedir: 'test'
       - timed: '{schedule}'
 
     builders:
-      - integration-infra-stack-3-type:
+      - integration-infra-stack-4-type:
+          stack-template: '{stack-template}'
           vm_0_count: '{odl_system_count}'
           vm_0_flavor: '{odl_system_flavor}'
           vm_0_image: '{odl_system_image}'
           vm_1_count: '{openstack_system_count}'
           vm_1_flavor: '{openstack_system_flavor}'
           vm_1_image: '{openstack_system_image}'
-          vm_2_count: '{tools_system_count}'
-          vm_2_flavor: '{tools_system_flavor}'
-          vm_2_image: '{tools_system_image}'
+          vm_2_count: '{openstack_system2_count}'
+          vm_2_flavor: '{openstack_system2_flavor}'
+          vm_2_image: '{openstack_system2_image}'
+          vm_3_count: '{tools_system_count}'
+          vm_3_flavor: '{tools_system_flavor}'
+          vm_3_image: '{tools_system_image}'
       - 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-detect-variables
       - integration-deploy-controller-run-test
       - integration-deploy-openstack-run-test
       - integration-cleanup-tmp
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 - job-template:
     name: '{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundleurl:
-          bundleurl: '{bundleurl}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
       - integration-controller-features:
           controller-features: '{install-features}'
+      - integration-controller-debug-map:
+          controller-debug-map: '{debug-map}'
       - integration-test-options:
           test-options: '{robot-options}'
       - integration-test-plan:
           test-plan: '{testplan}'
+      - integration-test-suites:
+          test-suites: '{test-suites}'
       - integration-patch-refspec:
           branch: 'master'
       - integration-jdk-version:
           jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
       - string:
           name: OPENSTACK_BRANCH
           default: '{openstack-branch}'
           description: 'Openstack version to use with devstack'
+      - string:
+          name: DEVSTACK_HASH
+          default: '{devstack-hash}'
+          description: 'devstack hash to checkout'
       - string:
           name: ODL_ML2_DRIVER_REPO
           default: '{odl-ml2-driver-repo}'
           name: NUM_OPENSTACK_SITES
           default: '{num-openstack-sites}'
           description: 'Number of openstack sites'
+      - string:
+          name: ODL_SFC_DRIVER
+          default: '{odl-sfc-driver}'
+          description: 'The SFC driver to be used in local.conf - only relevant when using networking-sfc'
+      - string:
+          name: ODL_SNAT_MODE
+          default: '{odl-snat-mode}'
+          description: 'The SNAT mode to be configured - options are conntrack/controller.'
 
     scm:
       - integration-gerrit-scm:
       - timed: '{schedule}'
 
     builders:
-      - integration-infra-stack:
+      - integration-infra-stack-3-type:
           stack-template: '{stack-template}'
           vm_0_count: '{odl_system_count}'
           vm_0_flavor: '{odl_system_flavor}'
           vm_1_count: '{openstack_system_count}'
           vm_1_flavor: '{openstack_system_flavor}'
           vm_1_image: '{openstack_system_image}'
+          vm_2_count: '{openstack_system2_count}'
+          vm_2_flavor: '{openstack_system2_flavor}'
+          vm_2_image: '{openstack_system2_image}'
       - 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-detect-variables
       - integration-deploy-controller-run-test
       - integration-deploy-openstack-run-test
       - integration-cleanup-tmp
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
       - integration-csit-archive-build
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - integration-csit-run-postscript
+      - lf-infra-publish
 
 # Template: {project}-patch-test-{stream}
 # Goal: Build a patch and run project specific system test on a distribution containing the change
 - job-template:
     name: '{project}-patch-test-{feature}-{stream}'
 
-    project-type: maven
+    project-type: freestyle
     node: centos7-java-builder-2c-8g
     concurrent: true
     jdk: '{jdk}'
           os-cloud: '{os-cloud}'
           project: '{project}'
           branch: '{branch}'
-          refspec: '$GERRIT_REFSPEC'
+          refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
       - integration-distribution-branch:
           branch: '{branch}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
       - integration-distribution-git-url:
           git-url: '{git-url}'
       - string:
           name: feature
           default: 'all'
           description: 'Specific feature test for patch'
+      - maven-exec:
+          maven-version: mvn33
 
     scm:
       - integration-gerrit-scm:
             unstable: true
             notbuilt: true
 
-    prebuilders:
+    builders:
       - 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'
+          maven-version: mvn33
           pom: '{project}/pom.xml'
-          goals: >
+          goals: |
               clean install dependency:tree
-              -V -B -Pq
+              -Pq
               -Dgitid.skip=false
-              -Djenkins
               -DgenerateReports=false
-              -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
               -Dstream={stream}
+              {opendaylight-infra-mvn-opts}
           java-opts:
             - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
-          settings: 'integration-settings'
+          settings: integration-settings
           settings-type: cfp
-          global-settings: 'odl-global-settings'
+          global-settings: global-settings
           global-settings-type: cfp
-
-    maven:
-      maven-name: 'mvn33'
-      root-pom: 'distribution/pom.xml'
-      goals: >
-          clean install dependency:tree
-          -V -B -Pq
-          -Dgitid.skip=false
-          -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:
+      - maven-target:
+          maven-version: mvn33
+          pom: distribution/pom.xml
+          goals: |
+              clean install dependency:tree
+              -Pq
+              -Dgitid.skip=false
+              {opendaylight-infra-mvn-opts}
+          java-opts:
+            - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+          settings: integration-settings
+          settings-type: cfp
+          global-settings: global-settings
+          global-settings-type: cfp
+      - integration-upload-distribution:
+          dist-pom: distribution/pom.xml
       - trigger-builds:
           - project: '{csit-list}'
             block: true
-            predefined-parameters:
-              BUNDLEURL=$BUNDLEURL
+            predefined-parameters: |
+              BUNDLE_URL=$BUNDLE_URL
+              KARAF_VERSION=$KARAF_VERSION
 
     publishers:
       - email-notification: