Fix wrong GERRIT_PROJECT
[releng/builder.git] / jjb / integration / integration-templates.yaml
index e68d44d1e325df48d8ecb29b6418f8cd49988be1..2603c147cc6eb93f3299e95d912d8297faacfd5f 100644 (file)
 # integration-use-features-boot: bool to toggle use of featuresBoot ($USEFEATURESBOOT)
 
 
-# New templates
+###########
+# Anchors #
+###########
 
-- job-template:
-    name: '{prefix}{project}-csit-verify-1node-{functionality}'
-    id: inttest-csit-verify-1node
-    disabled: false
+- inttest_csit_common: &inttest_csit_common
+    name: inttest-csit-common
+    # Defines common configuration to all CSIT jobs
+
+    #####################
+    # Default variables #
+    #####################
+
+    build-days-to-keep: 30
+    build-timeout: 360  # Time in minutes
+    disable-job: false
+
+    #####################
+    # Job configuration #
+    #####################
 
     project-type: freestyle
     node: centos7-robot-2c-8g
+    concurrent: true
+    disabled: '{disable-job}'
 
     properties:
       - opendaylight-infra-properties:
           build-days-to-keep: '{build-days-to-keep}'
 
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+#################
+# Job Templates #
+#################
+
+- job-template:
+    name: '{prefix}{project}-csit-verify-1node-{functionality}'
+    id: inttest-csit-verify-1node
+    <<: *inttest_csit_common
+
     parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: 'integration/test'
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
           branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: only
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
+          use-features-boot: 'True'
       - integration-distribution-branch:
           branch: '{verify-branch}'
       - integration-distribution-stream:
           stream: '{verify-stream}'
-      - integration-bundle-url:
-          bundle-url: '{bundle-url}'
-      - integration-repo-url:
-          repo-url: '{repo-url}'
-      - integration-controller-scope:
-          controller-scope: 'only'
-      - integration-controller-features:
-          controller-features: '{install-features}'
-      - integration-test-options:
-          test-options: '{robot-options}'
       - integration-script-plan:
-          script-plan: '{scriptplan}'
+          script-plan: '{project}.txt'
       - integration-config-plan:
-          config-plan: '{configplan}'
+          config-plan: '{project}.txt'
       - integration-stream-test-plan:
           stream-test-plan: '{project}-{functionality}-{verify-stream}.txt'
       - integration-test-plan:
           jdkversion: '{verify-jdkversion}'
       - distribution-karaf-version:
           karaf-version: '{verify-karaf-version}'
-      - integration-use-features-boot:
-          use-features-boot: 'True'
+
     scm:
       - integration-gerrit-scm:
           basedir: 'test'
           refspec: '$GERRIT_REFSPEC'
           branch: 'master'
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
     triggers:
       - integration-trigger-patch-submitted:
           gerrit-server-name: '{gerrit-server-name}'
           files: 'csit/suites/{project}/**'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '1'
       - integration-cleanup-tmp
 
     publishers:
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
-      - integration-csit-archive-build
-      - integration-csit-run-postscript
-      - releng-openstack-stack-delete
+      - integration-csit-publish:
+          robot_other_files: ''
+          robot-pass-threshold: 100.0
+          robot-unstable-threshold: 0.0
       - lf-infra-publish
 
-- job-template:
-    name: '{prefix}{project}-csit-1node-{functionality}-{install}-{stream}'
-    id: inttest-csit-1node
-    disable-job: false
-    disabled: '{disable-job}'
 
-    project-type: freestyle
-    node: centos7-robot-2c-8g
+######################
+# inttest-csit-1node #
+######################
 
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+- inttest_csit_1node: &inttest_csit_1node
+    name: inttest-csit-1node
+
+    #####################
+    # Default variables #
+    #####################
+
+    # TODO: Add default variables here.
+
+    #####################
+    # Job configuration #
+    #####################
 
     parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: 'integration/test'
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
           branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: '{scope}'
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
+          use-features-boot: 'True'
       - integration-distribution-branch:
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundle-url:
-          bundle-url: '{bundle-url}'
-      - integration-repo-url:
-          repo-url: '{repo-url}'
-      - integration-controller-scope:
-          controller-scope: '{scope}'
-      - integration-controller-features:
-          controller-features: '{install-features}'
-      - integration-controller-debug-map:
-          controller-debug-map: '{debug-map}'
-      - integration-test-options:
-          test-options: '{robot-options}'
       - integration-script-plan:
-          script-plan: '{scriptplan}'
+          script-plan: '{project}.txt'
       - integration-config-plan:
-          config-plan: '{configplan}'
+          config-plan: '{project}.txt'
       - integration-stream-test-plan:
-          stream-test-plan: '{streamtestplan}'
+          stream-test-plan: '{project}-{functionality}-{stream}.txt'
       - integration-test-plan:
-          test-plan: '{testplan}'
+          test-plan: '{project}-{functionality}.txt'
       - integration-test-suites:
           test-suites: '{test-suites}'
       - integration-patch-refspec:
           jdkversion: '{jre}'
       - distribution-karaf-version:
           karaf-version: '{karaf-version}'
-      - integration-use-features-boot:
-          use-features-boot: 'True'
 
     scm:
       - integration-gerrit-scm:
       - integration-csit-trigger:
           jobs: '{trigger-jobs}'
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '1'
       - integration-cleanup-tmp
 
     publishers:
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
                 inclusion-flag: '{10-inclusion-flag}'
                 exclude: '{10-exclude-value}'
                 format: csv
-      - integration-csit-archive-build
-      - integration-csit-run-postscript
-      - releng-openstack-stack-delete
+      - integration-csit-publish:
+          robot_other_files: ''
+          robot-pass-threshold: 100.0
+          robot-unstable-threshold: 0.0
       - lf-infra-publish
 
+- job-template:
+    name: '{prefix}{project}-csit-1node-{functionality}-{install}-{stream}'
+    id: inttest-csit-1node
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_1node
+
+- job-template:
+    name: '{prefix}{project}-csit-1node-{functionality}-{install}-{stream}'
+    id: inttest-csit-1node-custom
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_1node
+
+    parameters:
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
+          branch: '{branch}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: '{scope}'
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
+          use-features-boot: 'True'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - integration-script-plan:
+          script-plan: '{project}.txt'
+      - integration-config-plan:
+          config-plan: '{project}.txt'
+      - integration-stream-test-plan:
+          stream-test-plan: '{project}-{functionality}-{stream}.txt'
+      - 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}'
+
+
 - job-template:
     name: '{prefix}{project}-csit-verify-3node-{functionality}'
     id: inttest-csit-verify-3node
-    disabled: false
+    <<: *inttest_csit_common
 
-    project-type: freestyle
-    node: centos7-robot-2c-8g
+    #####################
+    # Default variables #
+    #####################
 
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+    # TODO: Add default variables here
+
+    #####################
+    # Job Configuration #
+    #####################
 
     parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: 'integration/test'
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
           branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: only
+          debug-map: '{debug-map}'
+          install-features: 'odl-jolokia,{install-features}'
+          use-features-boot: 'True'
       - integration-distribution-branch:
           branch: '{verify-branch}'
       - integration-distribution-stream:
           stream: '{verify-stream}'
-      - integration-bundle-url:
-          bundle-url: '{bundle-url}'
-      - integration-repo-url:
-          repo-url: '{repo-url}'
-      - integration-controller-scope:
-          controller-scope: 'only'
-      - integration-controller-features:
-          controller-features: 'odl-jolokia,{install-features}'
-      - integration-test-options:
-          test-options: '{robot-options}'
       - integration-script-plan:
-          script-plan: '{scriptplan}'
+          script-plan: '{project}.txt'
       - integration-config-plan:
-          config-plan: '{configplan}'
+          config-plan: '{project}.txt'
       - integration-stream-test-plan:
           stream-test-plan: '{project}-{functionality}-{verify-stream}.txt'
       - integration-test-plan:
           jdkversion: '{verify-jdkversion}'
       - distribution-karaf-version:
           karaf-version: '{verify-karaf-version}'
-      - integration-use-features-boot:
-          use-features-boot: 'True'
 
     scm:
       - integration-gerrit-scm:
           refspec: '$GERRIT_REFSPEC'
           branch: 'master'
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
     triggers:
       - integration-trigger-patch-submitted:
           gerrit-server-name: '{gerrit-server-name}'
           files: 'csit/suites/{project}/**'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '3'
       - integration-cleanup-tmp
 
     publishers:
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
-      - integration-csit-archive-build
-      - integration-csit-run-postscript
-      - releng-openstack-stack-delete
+      - integration-csit-publish:
+          robot_other_files: ''
+          robot-pass-threshold: 100.0
+          robot-unstable-threshold: 0.0
       - lf-infra-publish
 
-- job-template:
-    name: '{prefix}{project}-csit-3node-{functionality}-{install}-{stream}'
-    id: inttest-csit-3node
-    disabled: false
 
-    project-type: freestyle
-    node: centos7-robot-2c-8g
+######################
+# inttest-csit-3node #
+######################
 
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+- inttest_csit_3node: &inttest_csit_3node
+    name: inttest-csit-3node
+
+    #####################
+    # Default variables #
+    #####################
+
+    # TODO: Add default variables here
+
+    #####################
+    # Job configuration #
+    #####################
 
     parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: 'integration/test'
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
           branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: '{scope}'
+          debug-map: '{debug-map}'
+          install-features: 'odl-jolokia,{install-features}'
+          use-features-boot: 'True'
       - integration-distribution-branch:
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundle-url:
-          bundle-url: '{bundle-url}'
-      - integration-repo-url:
-          repo-url: '{repo-url}'
-      - integration-controller-scope:
-          controller-scope: '{scope}'
-      - integration-controller-features:
-          controller-features: 'odl-jolokia,{install-features}'
-      - integration-controller-debug-map:
-          controller-debug-map: '{debug-map}'
-      - integration-test-options:
-          test-options: '{robot-options}'
       - integration-script-plan:
-          script-plan: '{scriptplan}'
+          script-plan: '{project}.txt'
       - integration-config-plan:
-          config-plan: '{configplan}'
+          config-plan: '{project}.txt'
       - integration-stream-test-plan:
-          stream-test-plan: '{streamtestplan}'
+          stream-test-plan: '{project}-{functionality}-{stream}.txt'
       - integration-test-plan:
-          test-plan: '{testplan}'
+          test-plan: '{project}-{functionality}.txt'
       - integration-test-suites:
           test-suites: '{test-suites}'
       - integration-patch-refspec:
           jdkversion: '{jre}'
       - distribution-karaf-version:
           karaf-version: '{karaf-version}'
-      - integration-use-features-boot:
-          use-features-boot: 'True'
 
     scm:
       - integration-gerrit-scm:
           refspec: '$PATCHREFSPEC'
           branch: 'master'
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
+    triggers:
+      # we need this for not SR projects
+      - integration-csit-trigger:
+          jobs: '{trigger-jobs}'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '3'
       - integration-cleanup-tmp
 
     publishers:
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
                 inclusion-flag: '{10-inclusion-flag}'
                 exclude: '{10-exclude-value}'
                 format: csv
-      - integration-csit-archive-build
-      - integration-csit-run-postscript
-      - releng-openstack-stack-delete
+      - integration-csit-publish:
+          robot_other_files: ''
+          robot-pass-threshold: 100.0
+          robot-unstable-threshold: 0.0
       - lf-infra-publish
 
 - job-template:
-    name: '{prefix}{project}-csit-3node-docker-{functionality}-{install}-{stream}'
-    id: inttest-csit-3node-docker
-    disabled: false
-
-    project-type: freestyle
-    node: centos7-robot-2c-8g
+    name: '{prefix}{project}-csit-3node-{functionality}-{install}-{stream}'
+    id: inttest-csit-3node
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_3node
 
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+- job-template:
+    name: '{prefix}{project}-csit-3node-{functionality}-{install}-{stream}'
+    id: inttest-csit-3node-custom
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_3node
 
     parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: 'integration/test'
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
           branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: '{scope}'
+          debug-map: '{debug-map}'
+          install-features: 'odl-jolokia,{install-features}'
+          use-features-boot: 'True'
       - integration-distribution-branch:
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundle-url:
+      - integration-script-plan:
+          script-plan: '{project}.txt'
+      - integration-config-plan:
+          config-plan: '{project}.txt'
+      - integration-stream-test-plan:
+          stream-test-plan: '{project}-{functionality}-{stream}.txt'
+      - 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}'
+
+
+- job-template:
+    name: '{prefix}{project}-csit-3node-docker-{functionality}-{install}-{stream}'
+    id: inttest-csit-3node-docker
+    <<: *inttest_csit_common
+
+    #####################
+    # Default variables #
+    #####################
+
+    # TODO: Add default variables here
+
+    #####################
+    # Job Configuration #
+    #####################
+
+    parameters:
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
+          branch: '{branch}'
+          os-cloud: '{os-cloud}'
+          # CSIT
           bundle-url: '{bundle-url}'
-      - integration-repo-url:
           repo-url: '{repo-url}'
-      - integration-controller-scope:
+          robot-options: '{robot-options}'
+          # Controller
           controller-scope: '{scope}'
-      - integration-controller-features:
-          controller-features: 'odl-jolokia,{install-features}'
-      - integration-test-options:
-          test-options: '{robot-options}'
+          debug-map: '{debug-map}'
+          install-features: 'odl-jolokia,{install-features}'
+          use-features-boot: 'True'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-distribution-stream:
+          stream: '{stream}'
       - integration-script-plan:
-          script-plan: '{scriptplan}'
+          script-plan: '{project}.txt'
       - integration-config-plan:
-          config-plan: '{configplan}'
+          config-plan: '{project}.txt'
       - integration-stream-test-plan:
           stream-test-plan: '{project}-{functionality}-{stream}.txt'
       - integration-test-plan:
           jdkversion: '{jre}'
       - distribution-karaf-version:
           karaf-version: '{karaf-version}'
-      - integration-use-features-boot:
-          use-features-boot: 'True'
 
     scm:
       - integration-gerrit-scm:
           refspec: '$PATCHREFSPEC'
           branch: 'master'
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '3'
       - integration-cleanup-tmp
 
     publishers:
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
                 inclusion-flag: 'off'
                 display-table: true
                 format: csv
-      - integration-csit-archive-build
-      - integration-csit-run-postscript
-      - releng-openstack-stack-delete
+      - integration-csit-publish:
+          robot_other_files: ''
+          robot-pass-threshold: 100.0
+          robot-unstable-threshold: 0.0
       - lf-infra-publish
 
-- job-template:
-    # yamllint disable-line rule:line-length
-    name: '{prefix}{project}-csit-hwvtep-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-openstack-{openstack}-{functionality}-{stream}'
-    id: inttest-csit-hwvtep-openstack
-    disabled: false
 
-    project-type: freestyle
-    node: centos7-robot-2c-8g
-    concurrent: true
+#################################
+# inttest-csit-hwvtep-openstack #
+#################################
 
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+- inttest_csit_hwvtep_openstack: &inttest_csit_hwvtep_openstack
+    name: inttest-csit-hwvtep-openstack
+
+    #####################
+    # Default variables #
+    #####################
+
+    # TODO: Add default variables here
+
+    #####################
+    # Job configuration #
+    #####################
 
     parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: 'integration/test'
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
           branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: ''
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
+          use-features-boot: '{use-features-boot}'
       - integration-distribution-branch:
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundle-url:
-          bundle-url: '{bundle-url}'
-      - integration-repo-url:
-          repo-url: '{repo-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-script-plan:
-          script-plan: '{scriptplan}'
+          script-plan: '{project}.txt'
       - integration-config-plan:
-          config-plan: '{configplan}'
+          config-plan: '{project}.txt'
       - integration-test-plan:
-          test-plan: '{testplan}'
+          test-plan: '{project}-{functionality}.txt'
       - integration-test-suites:
           test-suites: '{test-suites}'
       - integration-patch-refspec:
           jdkversion: '{jre}'
       - distribution-karaf-version:
           karaf-version: '{karaf-version}'
-      - integration-use-features-boot:
-          use-features-boot: '{use-features-boot}'
       - string:
           name: OPENSTACK_BRANCH
           default: '{openstack-branch}'
           default: '{ovs-install}'
           description: 'Install a custom OVS. It can be an OVS version to build (like v2.9.2 or v2.6.1-nsh) or a yum
           repo url to pull from.'
+
     scm:
       - integration-gerrit-scm:
           basedir: 'test'
           refspec: '$PATCHREFSPEC'
           branch: 'master'
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
     triggers:
       - timed: '{schedule}'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack-4-type:
           stack-template: '{stack-template}'
           vm_0_count: '{odl_system_count}'
       - integration-cleanup-tmp
 
     publishers:
-      - integration-robot-tempest:
-          unstable-if: 0.0
-          pass-if: 100.0
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
       - integration-csit-collect-netvirt-logs
-      - integration-csit-archive-build
-      - integration-csit-run-postscript
-      - releng-openstack-stack-delete
+      - integration-csit-publish:
+          robot_other_files:
+            - tempest_results.html
+          robot-pass-threshold: 100.0
+          robot-unstable-threshold: 0.0
       - lf-infra-publish
 
 - job-template:
     # yamllint disable-line rule:line-length
-    name: '{prefix}{project}-csit-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-openstack-{openstack}-{functionality}-{stream}'
-    id: inttest-csit-openstack
-    disabled: false
+    name: '{prefix}{project}-csit-hwvtep-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-openstack-{openstack}-{functionality}-{stream}'
+    id: inttest-csit-hwvtep-openstack
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_hwvtep_openstack
 
-    project-type: freestyle
-    node: centos7-robot-2c-8g
-    concurrent: true
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+- job-template:
+    # yamllint disable-line rule:line-length
+    name: '{prefix}{project}-csit-hwvtep-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-openstack-{openstack}-{functionality}-{stream}'
+    id: inttest-csit-hwvtep-openstack-custom
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_hwvtep_openstack
 
     parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: 'integration/test'
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
           branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: ''
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
+          use-features-boot: '{use-features-boot}'
       - integration-distribution-branch:
           branch: '{branch}'
       - integration-distribution-stream:
           stream: '{stream}'
-      - integration-bundle-url:
-          bundle-url: '{bundle-url}'
-      - integration-repo-url:
-          repo-url: '{repo-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-script-plan:
-          script-plan: '{scriptplan}'
+          script-plan: '{project}.txt'
       - integration-config-plan:
-          config-plan: '{configplan}'
+          config-plan: '{project}.txt'
       - integration-test-plan:
           test-plan: '{testplan}'
       - integration-test-suites:
           jdkversion: '{jre}'
       - distribution-karaf-version:
           karaf-version: '{karaf-version}'
-      - integration-use-features-boot:
+      - 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}'
+          description: 'URL to fetch networking-odl driver'
+      - string:
+          name: ODL_ML2_BRANCH
+          default: '{odl-ml2-branch}'
+          description: 'Version of networking-odl to checkout from the repo'
+      - string:
+          name: ODL_ML2_DRIVER_VERSION
+          default: '{odl-ml2-driver-version}'
+          description: 'Mode of networking-odl (v1 or v2)'
+      - string:
+          name: ODL_ML2_PORT_BINDING
+          default: '{odl-ml2-port-binding}'
+          description: 'Method of networking-odl port-binding (pseudo-agentdb-binding or legacy-port-binding or
+          network-topology)'
+      - string:
+          name: DEVSTACK_KUBERNETES_PLUGIN_REPO
+          default: '{devstack-kubernetes-plugin-repo}'
+          description: 'URL to fetch kubernetes devstack plugin'
+      - string:
+          name: DEVSTACK_LBAAS_PLUGIN_REPO
+          default: '{devstack-lbaas-plugin-repo}'
+          description: 'URL to fetch neutron-lbaas devstack plugin'
+      - string:
+          name: DEVSTACK_NETWORKING_SFC_PLUGIN_REPO
+          default: '{devstack-networking-sfc-plugin-repo}'
+          description: 'URL to fetch neutron-lbaas devstack plugin'
+      - string:
+          name: IPSEC_VXLAN_TUNNELS_ENABLED
+          default: '{ipsec-vxlan-tunnels-enabled}'
+          description: 'Enable ipsec over vxlan support for all controllers and computes'
+      - string:
+          name: PUBLIC_BRIDGE
+          default: '{public-bridge}'
+          description: 'Specifies public bridge for provider and external networking'
+      - 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 separated list of services to enable on controller nodes'
+      - string:
+          name: ENABLE_OS_COMPUTE_SERVICES
+          default: '{enable-openstack-compute-services}'
+          description: 'comma separated list of services to enable on compute nodes'
+      - string:
+          name: ENABLE_OS_NETWORK_SERVICES
+          default: '{enable-openstack-network-services}'
+          description: 'comma seperated list of network services to enable'
+      - string:
+          name: ENABLE_OS_PLUGINS
+          default: '{enable-openstack-plugins}'
+          description: 'comma seperated list of plugins 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'
+      - string:
+          name: SECURITY_GROUP_MODE
+          default: '{security-group-mode}'
+          description: 'Security Group Mode to be used in netvirt aclservice config'
+      - string:
+          name: ENABLE_ITM_DIRECT_TUNNELS
+          default: '{enable-itm-direct-tunnels}'
+          description: 'Tunnel Configuration mode to be used in genius ifm config'
+      - string:
+          name: PUBLIC_PHYSICAL_NETWORK
+          default: '{public-physical-network}'
+          description: 'provider physical network used for flat/vlan networks'
+      - string:
+          name: ENABLE_NETWORKING_L2GW
+          default: '{enable-networking-l2gw}'
+          description: 'Enable networking L2gw'
+      - string:
+          name: NETWORKING_L2GW_DRIVER
+          default: '{networking-l2gw-repo}'
+          description: 'URL to fetch networking-l2gw driver'
+      - string:
+          name: CREATE_INITIAL_NETWORKS
+          default: '{create-initial-networks}'
+          description: 'Toggles the option of letting devstack create initial networks (True/False)'
+      - string:
+          name: LBAAS_SERVICE_PROVIDER
+          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.'
+      - string:
+          name: OVS_INSTALL
+          default: '{ovs-install}'
+          description: 'Install a custom OVS. It can be an OVS version to build (like v2.9.2 or v2.6.1-nsh) or a yum
+          repo url to pull from.'
+
+
+##########################
+# inttest-csit-openstack #
+##########################
+
+- inttest_csit_openstack: &inttest_csit_openstack
+    name: inttest-csit-openstack
+
+    #####################
+    # Default variables #
+    #####################
+
+    # TODO: Add default variables here
+
+    #####################
+    # Job configuration #
+    #####################
+
+    parameters:
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
+          branch: '{branch}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: ''
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
           use-features-boot: '{use-features-boot}'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - integration-script-plan:
+          script-plan: '{project}.txt'
+      - integration-config-plan:
+          config-plan: '{project}.txt'
+      - integration-test-plan:
+          test-plan: '{project}-{functionality}.txt'
+      - 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}'
           default: '{ovs-install}'
           description: 'Install a custom OVS. It can be an OVS version to build (like v2.9.2 or v2.6.1-nsh) or a yum
           repo url to pull from.'
+
     scm:
       - integration-gerrit-scm:
           basedir: 'test'
           refspec: '$PATCHREFSPEC'
           branch: 'master'
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
     triggers:
       - timed: '{schedule}'
 
     builders:
-      - integration-infra-stack-3-type:
+      - lf-infra-pre-build
+      - integration-infra-stack-4-type:
           stack-template: '{stack-template}'
           vm_0_count: '{odl_system_count}'
           vm_0_flavor: '{odl_system_flavor}'
           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-cleanup-tmp
 
     publishers:
-      - integration-robot-tempest:
-          unstable-if: 0.0
-          pass-if: 100.0
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
       - integration-csit-collect-netvirt-logs
-      - integration-csit-archive-build
-      - integration-csit-run-postscript
-      - releng-openstack-stack-delete
+      - integration-csit-publish:
+          robot_other_files:
+            - tempest_results.html
+          robot-pass-threshold: 100.0
+          robot-unstable-threshold: 0.0
       - lf-infra-publish
 
+- job-template:
+    # yamllint disable-line rule:line-length
+    name: '{prefix}{project}-csit-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-openstack-{openstack}-{functionality}-{stream}'
+    id: inttest-csit-openstack
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_openstack
+
+- job-template:
+    # yamllint disable-line rule:line-length
+    name: '{prefix}{project}-csit-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-openstack-{openstack}-{functionality}-{stream}'
+    id: inttest-csit-openstack-custom
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_openstack
+
+    parameters:
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
+          branch: '{branch}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: ''
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
+          use-features-boot: '{use-features-boot}'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - integration-script-plan:
+          script-plan: '{project}.txt'
+      - integration-config-plan:
+          config-plan: '{project}.txt'
+      - 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}'
+          description: 'URL to fetch networking-odl driver'
+      - string:
+          name: ODL_ML2_BRANCH
+          default: '{odl-ml2-branch}'
+          description: 'Version of networking-odl to checkout from the repo'
+      - string:
+          name: ODL_ML2_DRIVER_VERSION
+          default: '{odl-ml2-driver-version}'
+          description: 'Mode of networking-odl (v1 or v2)'
+      - string:
+          name: ODL_ML2_PORT_BINDING
+          default: '{odl-ml2-port-binding}'
+          description: 'Method of networking-odl port-binding (pseudo-agentdb-binding or legacy-port-binding or
+          network-topology)'
+      - string:
+          name: ENABLE_GRE_TYPE_DRIVERS
+          default: '{enable-gre-type-driver}'
+          description: 'Enable gre tunnel'
+      - string:
+          name: DEVSTACK_KUBERNETES_PLUGIN_REPO
+          default: '{devstack-kubernetes-plugin-repo}'
+          description: 'URL to fetch kubernetes devstack plugin'
+      - string:
+          name: DEVSTACK_LBAAS_PLUGIN_REPO
+          default: '{devstack-lbaas-plugin-repo}'
+          description: 'URL to fetch neutron-lbaas devstack plugin'
+      - string:
+          name: DEVSTACK_NETWORKING_SFC_PLUGIN_REPO
+          default: '{devstack-networking-sfc-plugin-repo}'
+          description: 'URL to fetch neutron-lbaas devstack plugin'
+      - string:
+          name: IPSEC_VXLAN_TUNNELS_ENABLED
+          default: '{ipsec-vxlan-tunnels-enabled}'
+          description: 'Enable ipsec over vxlan support for all controllers and computes'
+      - string:
+          name: PUBLIC_BRIDGE
+          default: '{public-bridge}'
+          description: 'Specifies public bridge for provider and external networking'
+      - 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: ENABLE_OS_COMPUTE_SERVICES
+          default: '{enable-openstack-compute-services}'
+          description: 'comma separated list of services to enable on compute nodes'
+      - string:
+          name: ENABLE_OS_NETWORK_SERVICES
+          default: '{enable-openstack-network-services}'
+          description: 'comma seperated list of network services to enable'
+      - string:
+          name: ENABLE_OS_PLUGINS
+          default: '{enable-openstack-plugins}'
+          description: 'comma seperated list of plugins 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'
+      - string:
+          name: SECURITY_GROUP_MODE
+          default: '{security-group-mode}'
+          description: 'Security Group Mode to be used in netvirt aclservice config'
+      - string:
+          name: ENABLE_ITM_DIRECT_TUNNELS
+          default: '{enable-itm-direct-tunnels}'
+          description: 'Tunnel Configuration mode to be used in genius ifm config'
+      - string:
+          name: PUBLIC_PHYSICAL_NETWORK
+          default: '{public-physical-network}'
+          description: 'provider physical network used for flat/vlan networks'
+      - string:
+          name: ENABLE_NETWORKING_L2GW
+          default: '{enable-networking-l2gw}'
+          description: 'Enable networking L2gw'
+      - string:
+          name: NETWORKING_L2GW_DRIVER
+          default: '{networking-l2gw-repo}'
+          description: 'URL to fetch networking-l2gw driver'
+      - string:
+          name: CREATE_INITIAL_NETWORKS
+          default: '{create-initial-networks}'
+          description: 'Toggles the option of letting devstack create initial networks (True/False)'
+      - string:
+          name: LBAAS_SERVICE_PROVIDER
+          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.'
+      - string:
+          name: OVS_INSTALL
+          default: '{ovs-install}'
+          description: 'Install a custom OVS. It can be an OVS version to build (like v2.9.2 or v2.6.1-nsh) or a yum
+          repo url to pull from.'
+
 # 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
 - job-template:
     name: '{prefix}{project}-patch-test-{feature}-{stream}'
     id: inttest-patch-test
+    <<: *inttest_csit_common
 
-    project-type: freestyle
-    node: centos7-builder-2c-8g
-    concurrent: true
-    jdk: '{java-version}'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+    build-timeout: 720
 
     parameters:
       - opendaylight-infra-parameters:
       - integration-distribution-scm:
           branch: '{branch}'
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
     triggers:
       - gerrit:
           server-name: '{gerrit-server-name}'
             block: true
             predefined-parameters: |
               BUNDLE_URL=$BUNDLE_URL
+              GERRIT_BRANCH=$GERRIT_BRANCH
+              GERRIT_PROJECT_ROOT=$GERRIT_PROJECT
+              GERRIT_REFSPEC=$GERRIT_REFSPEC
               KARAF_VERSION=$KARAF_VERSION
 
     publishers:
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
+
+
+#####################
+# inttest-csit-apex #
+#####################
+
+- inttest_csit_apex: &inttest_csit_apex
+    name: inttest-csit-apex
+
+    #####################
+    # Default variables #
+    #####################
+
+    # TODO: Add default variables here
+
+    #####################
+    # Job configuration #
+    #####################
+
+    parameters:
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
+          branch: '{branch}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: ''
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
+          use-features-boot: '{use-features-boot}'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - integration-test-plan:
+          test-plan: '{project}-{functionality}.txt'
+      - 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: IPSEC_VXLAN_TUNNELS_ENABLED
+          default: '{ipsec-vxlan-tunnels-enabled}'
+          description: 'Enable ipsec over vxlan support for all controllers and computes'
+      - string:
+          name: PUBLIC_BRIDGE
+          default: '{public-bridge}'
+          description: 'Specifies public bridge for provider and external networking'
+      - string:
+          name: SECURITY_GROUP_MODE
+          default: '{security-group-mode}'
+          description: 'Security Group Mode to be used in netvirt aclservice config'
+      - string:
+          name: ENABLE_ITM_DIRECT_TUNNELS
+          default: '{enable-itm-direct-tunnels}'
+          description: 'Tunnel Configuration mode to be used in genius ifm config'
+      - string:
+          name: PUBLIC_PHYSICAL_NETWORK
+          default: '{public-physical-network}'
+          description: 'provider physical network used for flat/vlan networks'
+      - 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'
+          refspec: '$PATCHREFSPEC'
+          branch: 'master'
+
+    triggers:
+      - timed: '{schedule}'
+
+    builders:
+      - lf-infra-pre-build
+      - integration-apex-stack-3-type:
+          stack-template: '{stack-template}'
+          vm_0_count: '{apex_controller_count}'
+          vm_0_flavor: '{apex_controller_flavor}'
+          vm_0_image: '{apex_controller_image}'
+          vm_1_count: '1'
+          vm_1_flavor: '{apex_compute_0_flavor}'
+          vm_1_image: '{apex_compute_0_image}'
+          vm_2_count: '1'
+          vm_2_flavor: '{apex_compute_1_flavor}'
+          vm_2_image: '{apex_compute_1_image}'
+      - integration-install-robotframework
+      - integration-detect-variables
+      - integration-install-common-functions
+      - inject:
+          properties-file: 'env.properties'
+      - integration-get-apex-addresses
+      - inject:
+          properties-file: 'slave_addresses.txt'
+      - integration-apex-run-tests
+      - integration-cleanup-tmp
+
+    publishers:
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[{project}]'
+      - integration-csit-publish:
+          robot_other_files:
+            - tempest_results.html
+          robot-pass-threshold: 100.0
+          robot-unstable-threshold: 0.0
+      - lf-infra-publish
+
+- job-template:
+    # yamllint disable-line rule:line-length
+    name: '{prefix}{project}-csit-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-apex-{openstack}-{functionality}-{stream}'
+    id: inttest-csit-apex
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_apex
+
+- job-template:
+    # yamllint disable-line rule:line-length
+    name: '{prefix}{project}-csit-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-apex-{openstack}-{functionality}-{stream}'
+    id: inttest-csit-apex-custom
+    <<: *inttest_csit_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *inttest_csit_apex
+
+    parameters:
+      - integration-csit-parameters:
+          archive-artifacts: '{archive-artifacts}'
+          branch: '{branch}'
+          os-cloud: '{os-cloud}'
+          # CSIT
+          bundle-url: '{bundle-url}'
+          repo-url: '{repo-url}'
+          robot-options: '{robot-options}'
+          # Controller
+          controller-scope: ''
+          debug-map: '{debug-map}'
+          install-features: '{install-features}'
+          use-features-boot: '{use-features-boot}'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - 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: IPSEC_VXLAN_TUNNELS_ENABLED
+          default: '{ipsec-vxlan-tunnels-enabled}'
+          description: 'Enable ipsec over vxlan support for all controllers and computes'
+      - string:
+          name: PUBLIC_BRIDGE
+          default: '{public-bridge}'
+          description: 'Specifies public bridge for provider and external networking'
+      - string:
+          name: SECURITY_GROUP_MODE
+          default: '{security-group-mode}'
+          description: 'Security Group Mode to be used in netvirt aclservice config'
+      - string:
+          name: ENABLE_ITM_DIRECT_TUNNELS
+          default: '{enable-itm-direct-tunnels}'
+          description: 'Tunnel Configuration mode to be used in genius ifm config'
+      - string:
+          name: PUBLIC_PHYSICAL_NETWORK
+          default: '{public-physical-network}'
+          description: 'provider physical network used for flat/vlan networks'
+      - string:
+          name: ODL_SNAT_MODE
+          default: '{odl-snat-mode}'
+          description: 'The SNAT mode to be configured - options are conntrack/controller.'