name: integration-test
project: integration/test
project-name: integration-test
- test-branch: master
jobs:
- - 'integration-distribution-test-{stream}'
- - 'integration-sanity-test-{stream}'
- 'integration-patch-test-{stream}'
- 'integration-multipatch-test-{stream}'
- - 'integration-distribution-weekly-test-trigger-{stream}'
- - 'integration-distribution-high-frequency-test-trigger-{stream}'
- - 'integration-update-csit-tests-{stream}'
+ - 'integration-merge-dashboard'
+ - '{project-name}-rtd-jobs':
+ build-node: centos7-builder-2c-2g
+ project-pattern: integration/test
+ rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationtest/32934/
+ rtd-token: 70766f97941a74ef80b84749ac4799e5ddeee99a
- gerrit-tox-verify:
branch: master
stream: master
- # CSIT Lists in releng-defaults.yaml
+ # CSIT Lists in defaults.yaml
stream:
+ - neon:
+ branch: 'master'
+ mvn-version: 'mvn35'
+ csit-list: !include: csit-jobs-neon.lst
+ build-order: >
+ odlparent yangtools infrautils mdsal controller serviceutils aaa netconf
+ daexim ovsdb neutron openflowplugin coe genius lispflowmapping sfc netvirt
+ bgpcep integration/distribution
+
+ - fluorine:
+ branch: 'stable/fluorine'
+ mvn-version: 'mvn35'
+ csit-list: !include: csit-jobs-fluorine.lst
+ build-order: >
+ odlparent yangtools infrautils mdsal controller serviceutils aaa netconf
+ daexim ovsdb neutron openflowplugin coe genius lispflowmapping sfc netvirt
+ bgpcep integration/distribution
+
- oxygen:
+ branch: 'stable/oxygen'
+ mvn-version: 'mvn35'
+ csit-list: !include: csit-jobs-oxygen.lst
+ build-order: >
+ odlparent yangtools infrautils mdsal controller serviceutils aaa netconf
+ daexim ovsdb neutron openflowplugin coe genius lispflowmapping sfc netvirt
+ bgpcep integration/distribution
+
+- project:
+ name: integration-distribution
+ project: integration/test
+ project-name: integration-test
+ jobs:
+ - 'integration-distribution-test-{stream}'
+ - 'integration-distribution-weekly-test-trigger-{stream}'
+ - 'integration-distribution-high-frequency-test-trigger-{stream}'
+ - 'integration-update-csit-tests-{stream}'
+
+ # CSIT Lists in defaults.yaml
+ stream:
+ - neon:
branch: 'master'
- csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide
+ csit-blacklist: >
+ alto bier capwap centinel didm dluxapps groupbasedpolicy iotdm jsonrpc lacp
+ l2switch messaging4transport nemo netide nic ocpplugin of-config p4plugin packetcable
+ sdninterfaceapp sxp tsdr unimgr usc usecplugin vtn gate longevity sanity tdd tempest wip
+ aaa-csit-1node-keystone-all
+ netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
+ netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
+ netvirt-csit-3node-1cmb
+ last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
+ csit-list: !include: csit-jobs-neon.lst
+ csit-weekly-list: '{csit-weekly-list-neon}'
+ csit-high-frequency-list: '{csit-high-frequency-list-neon}'
+ - fluorine:
+ branch: 'stable/fluorine'
+ csit-blacklist: >
+ alto bier capwap centinel didm dluxapps groupbasedpolicy iotdm jsonrpc lacp
+ l2switch messaging4transport nemo netide nic ocpplugin of-config p4plugin packetcable
+ sdninterfaceapp sxp tsdr unimgr usc usecplugin vtn gate longevity sanity tdd tempest wip
+ aaa-csit-1node-keystone-all
+ netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
+ netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
+ netvirt-csit-3node-1cmb
+ last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
+ csit-list: !include: csit-jobs-fluorine.lst
+ csit-weekly-list: '{csit-weekly-list-fluorine}'
+ csit-high-frequency-list: '{csit-high-frequency-list-fluorine}'
+ - oxygen:
+ branch: 'stable/oxygen'
+ csit-blacklist: >
+ capwap centinel didm iotdm jsonrpc lacp messaging4transport netide nic
+ ocpplugin sdninterfaceapp unimgr usecplugin gate longevity sanity tdd tempest wip
+ aaa-csit-1node-keystone-all groupbasedpolicy-csit-1node-1cmb-0ctl-0cmp-openstack-pike-openstack
+ netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
+ netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
+ netvirt-csit-3node-1cmb
+ last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
csit-list: !include: csit-jobs-oxygen.lst
- csit-sanity-list: '{csit-sanity-list-oxygen}'
csit-weekly-list: '{csit-weekly-list-oxygen}'
csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
- - nitrogen:
- branch: 'stable/nitrogen'
- csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
- csit-list: !include: csit-jobs-nitrogen.lst
- csit-sanity-list: '{csit-sanity-list-nitrogen}'
- csit-weekly-list: '{csit-weekly-list-nitrogen}'
- csit-high-frequency-list: '{csit-high-frequency-list-nitrogen}'
-
- - carbon:
- branch: 'stable/carbon'
- karaf-version: karaf3
- csit-blacklist: longevity gate sanity capwap centinel coe jsonrpc
- csit-list: !include: csit-jobs-carbon.lst
- csit-sanity-list: '{csit-sanity-list-carbon}'
- csit-weekly-list: '{csit-weekly-list-carbon}'
- csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
-
- # tools system image
- tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20171208-1847
-
-# Template: integration-distribution-test-{stream}
-# Goal: Verify a distribution through all system test available
-# Operation: This template takes a distribution and passes all available system test
+- project:
+ name: integration-sanity
+ project: integration/test
+ project-name: integration-test
+ jobs:
+ - 'integration-sanity-test-{stream}'
+
+ stream:
+ - neon:
+ branch: 'master'
+ karaf-version: odl
+ csit-sanity-list: '{csit-sanity-list-neon}'
+ - fluorine:
+ branch: 'stable/fluorine'
+ karaf-version: odl
+ csit-sanity-list: '{csit-sanity-list-fluorine}'
+ - oxygen:
+ branch: 'stable/oxygen'
+ karaf-version: karaf4
+ csit-sanity-list: '{csit-sanity-list-oxygen}'
+
+- job-template:
+ name: 'integration-merge-dashboard'
+ project-type: freestyle
+ node: centos7-builder-2c-1g
+
+ properties:
+ - opendaylight-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+
+ parameters:
+ - opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
+ project: '{project}'
+ branch: 'master'
+ refspec: 'refs/heads/master'
+ artifacts: '{archive-artifacts}'
+
+ scm:
+ - integration-gerrit-scm:
+ basedir: 'test'
+ refspec: '$GERRIT_REFSPEC'
+ branch: 'master'
+
+ wrappers:
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ gerrit-server-name: '{gerrit-server-name}'
+ name: '{project}'
+ branch: 'master'
+ files: 'dashboard/**'
+ forbidden-files: ''
+
+ builders:
+ - config-file-provider:
+ files:
+ - file-id: odl-elastic-cloud
+ target: '$HOME/.netrc'
+ - integration-install-robotframework
+ # yamllint disable-line rule:line-length
+ - shell: python3 $WORKSPACE/test/csit/scripts/push_dashboard.py a4ff38b99ef2c7626450543021b4c134.us-east-1.aws.found.io:9243
+
+ publishers:
+ - lf-infra-publish
+ - email-notification:
+ email-recipients: '{email-recipients}'
+ email-prefix: '[{project-name}]'
- job-template:
name: 'integration-distribution-test-{stream}'
+ # Goal: Verify a distribution through all system test available
+ # Operation: This template takes a distribution and passes all available system test
project-type: freestyle
- node: centos7-robot-1c-4g
+ node: queue-disttest-2c-1g
properties:
- opendaylight-infra-properties:
email-prefix: '[integration]'
- lf-infra-publish
-# Template: integration-sanity-test-{stream}
-# Goal: Verify a distribution through sanity test
-# Operation: This template takes a distribution and passes sanity test
-
- job-template:
name: 'integration-sanity-test-{stream}'
+ # Goal: Verify a distribution through sanity test
+ # Operation: This template takes a distribution and passes sanity test
+ # This jobs works for both managed & unmanaged distro.
project-type: freestyle
- node: centos7-robot-1c-4g
+ node: queue-intque-2c-1g
properties:
- opendaylight-infra-properties:
- distribution-karaf-version:
karaf-version: '{karaf-version}'
+ triggers:
+ - timed: '{schedule-daily}'
+
builders:
- trigger-builds:
- project: '{csit-sanity-list}'
email-recipients: '{email-recipients}'
email-prefix: '[integration]'
-# Template: integration-patch-test-{stream}
-# Goal: Build a patch and run all available system test on a distribution containing the change
-# Operation: This job template builds a patch, creates a distribution containing the patch, and
-# triggers the distribution test when test-integration is used in gerrit comments
-
- job-template:
name: 'integration-patch-test-{stream}'
+ # Template: integration-patch-test-{stream}
+ # Goal: Build a patch and run all available system test on a distribution containing the change
+ # Operation: This job template builds a patch, creates a distribution containing the patch, and
+ # triggers the distribution test when test-integration is used in gerrit comments
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
properties:
- opendaylight-infra-properties:
- integration-distribution-git-url:
git-url: '{git-url}'
- maven-exec:
- maven-version: mvn33
+ maven-version: mvn35
scm:
- integration-gerrit-scm:
builders:
- integration-rebase-gerrit-patch
- wipe-org-opendaylight-repo
- - provide-maven-settings:
+ - lf-provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: 'integration-settings'
- maven-target:
- maven-version: 'mvn33'
+ maven-version: 'mvn35'
pom: '$GERRIT_PROJECT/pom.xml'
goals: |
clean install dependency:tree -DoutputFile=dependency_tree.txt
-Pq
-Dstream={stream}
{opendaylight-infra-mvn-opts}
- # TODO: {opendaylight-infra-parallel-mvn-opts}?
+ # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
java-opts:
- '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
settings: integration-settings
global-settings: global-settings
global-settings-type: cfp
- maven-target:
- maven-version: mvn33
+ maven-version: mvn35
pom: distribution/pom.xml
goals: |
clean install dependency:tree -DoutputFile=dependency_tree.txt
- {opendaylight-infra-parallel-mvn-opts}
+ {opendaylight-infra-mvn-opts}
+ # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
java-opts:
- '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
settings: integration-settings
- job-template:
name: 'integration-multipatch-test-{stream}'
# Goal: Build one or more patches and run all available system test on a distribution containing the change.
- # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
- # containing these patches, and triggers the distribution test job which includes most (if not all) available
- # CSIT jobs
- # TODO: Move the following to appropriate readthedocs document.
- # Recommended Sandbox usage:
- # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
- # 1. Copy the csit job name to clipboard.
- # 2. Navigate to Sandbox page of this job.
- # 3. Click "Configure".
- # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
- # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
- # 6. Click "Save" button.
- # 7. Click "Build with Parameters".
- # yamllint disable-line rule:line-length
- # 8. Start the job with your parameters, see https://wiki.opendaylight.org/view/Integration/Test/Running_System_Tests#Running_System_Tests_Using_Custom_Distribution_Built_From_Multiple_Patches
- # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
- # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
- # 11. Click Parameters and copy the long value of BUNDLE_URL field to clipboard.
- # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLE_URL value
- # so you do not have to wait for multipatch build. Repeat step 12.
- # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
+ # Operation: This job template checks out and builds in order each patch provided in job parameters, finally
+ # it creates a distribution containing all patches and triggers the distribution test job which includes most
+ # (if not all) available CSIT jobs.
project-type: freestyle
- node: centos7-java-builder-2c-8g
- jdk: '{jdk}'
+ node: centos7-builder-8c-8g
+ concurrent: true
+ jdk: '{java-version}'
properties:
- opendaylight-infra-properties:
parameters:
- patches-to-build-parameter:
patches_to_build: '$PATCHES_TO_BUILD'
+ - build-order-parameter:
+ build-order: '{build-order}'
+ - build-fast-parameter:
+ build-fast: 'false'
- run-test-parameter:
run-test: 'false'
- integration-distribution-branch:
branch: '{branch}'
+ - integration-distribution-stream:
+ stream: '{stream}'
- distribution-karaf-version:
karaf-version: '{karaf-version}'
- opendaylight-infra-parameters:
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- - maven-exec:
- maven-version: mvn33
+ - lf-infra-maven-parameters:
+ mvn-opts: ''
+ mvn-params: ''
+ mvn-version: mvn35
+ staging-profile-id: '' # Staging repos do not make sense for this job
wrappers:
- opendaylight-infra-wrappers:
server-name: '{gerrit-server-name}'
trigger-on:
- comment-added-contains-event:
- comment-contains-value: 'multipatch-build:'
+ comment-contains-value: 'multipatch-build'
projects:
- project-compare-type: ANT
project-pattern: '**'
builders:
- wipe-org-opendaylight-repo
- - integration-multipatch-builder
- - provide-maven-settings:
+ - lf-maven-install:
+ mvn-version: '{mvn-version}'
+ - lf-provide-maven-settings:
global-settings-file: 'global-settings'
- settings-file: 'yangtools-settings'
- - maven-target:
- maven-version: mvn33
- pom: patch_tester/pom.xml
- # TODO: Make Maven options configurable. Currently tests are not skipped, everything else is.
- goals: |
- clean install dependency:tree -DoutputFile=dependency_tree.txt
- -Pq
- -Dstream={stream}
- -Dsft.heap.max=4g
- {opendaylight-infra-mvn-opts}
- # TODO: {opendaylight-infra-parallel-mvn-opts}?
- java-opts:
- - '-Xmx3072m -Dmaven.compile.fork=true'
- settings: integration-settings
- settings-type: cfp
- global-settings: global-settings
- global-settings-type: cfp
+ settings-file: 'integration-distribution-settings'
+ - integration-multipatch-builder
- integration-upload-distribution:
dist-pom: patch_tester/distribution/pom.xml
- conditional-step:
condition-kind: boolean-expression
- condition-expression: $RUNTEST
+ condition-expression: $RUN_TEST
steps:
- trigger-builds:
- project: '{csit-list}'
name: 'integration-distribution-weekly-test-trigger-{stream}'
project-type: freestyle
- node: centos7-robot-1c-4g
+ node: queue-intque-2c-1g
properties:
- opendaylight-infra-properties:
name: 'integration-distribution-high-frequency-test-trigger-{stream}'
project-type: freestyle
- node: centos7-robot-1c-4g
+ node: queue-intque-2c-1g
properties:
- opendaylight-infra-properties:
git-url: '$GIT_URL/$PROJECT'
submodule-recursive: true
+ submodule-timeout: 10
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-2g
properties:
- lf-infra-properties:
refspec: '$GERRIT_REFSPEC'
branch: '$GERRIT_BRANCH'
submodule-recursive: '{submodule-recursive}'
+ submodule-timeout: '{submodule-timeout}'
choosing-strategy: default
wrappers:
- shell: |
git status
git add jjb/integration/*.lst
- - opendaylight-infra-push-gerrit-patch:
- project: "releng/builder"
- gerrit-topic: "auto-update-csit-jobs-{stream}"
- gerrit-commit-message: "Auto Update CSIT Jobs to run for {stream}"
+ - lf-infra-push-gerrit-patch:
+ project: 'releng/builder'
+ gerrit-user: 'jenkins-$SILO'
+ gerrit-host: 'git.opendaylight.org'
+ gerrit-topic: 'auto-update-csit-jobs-{stream}'
+ gerrit-commit-message: 'Auto Update CSIT Jobs to run for {stream}'
+ reviewers-email: 'jluhrsen@redhat.com'
publishers:
- lf-infra-publish
+
+- project:
+ name: integration-view
+ views:
+ - project-view
+ project-name: integration
+
+- view:
+ name: csit-stable-f
+ description: 'List of stable integration jobs for managed projects'
+ job-name:
+ - aaa-csit-1node-authn-all-fluorine
+ - bgpcep-csit-1node-throughpcep-all-fluorine
+ - coe-csit-1node-container-networking-all-fluorine
+ - controller-csit-1node-akka1-all-fluorine
+ - controller-csit-1node-benchmark-all-fluorine
+ - controller-csit-1node-notifications-longevity-only-fluorine
+ - controller-csit-1node-rest-cars-perf-all-fluorine
+ - controller-csit-3node-benchmark-all-fluorine
+ - controller-csit-3node-drb-precedence-longevity-only-fluorine
+ - controller-csit-3node-rest-clust-cars-perf-ask-only-fluorine
+ - controller-csit-3node-rest-clust-cars-perf-tell-only-fluorine
+ - daexim-csit-1node-basic-only-fluorine
+ - daexim-csit-3node-clustering-basic-only-fluorine
+ - distribution-csit-1node-userfeatures-all-fluorine
+ - genius-csit-1node-upstream-only-fluorine
+ - genius-csit-3node-upstream-only-fluorine
+ - lispflowmapping-csit-1node-msmr-all-fluorine
+ - netconf-csit-1node-callhome-only-fluorine
+ - netconf-csit-1node-userfeatures-all-fluorine
+ - netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-sfc-fluorine
+ - netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine
+ - openflowplugin-csit-1node-flow-services-all-fluorine
+ - openflowplugin-csit-1node-longevity-only-fluorine
+ - openflowplugin-csit-1node-perf-bulkomatic-only-fluorine
+ - openflowplugin-csit-1node-perf-stats-collection-only-fluorine
+ - openflowplugin-csit-1node-sanity-only-fluorine
+ - openflowplugin-csit-1node-scale-link-only-fluorine
+ - openflowplugin-csit-1node-scale-only-fluorine
+ - openflowplugin-csit-1node-scale-switch-only-fluorine
+ - openflowplugin-csit-3node-clustering-bulkomatic-only-fluorine
+ - openflowplugin-csit-3node-clustering-only-fluorine
+ - ovsdb-csit-3node-upstream-clustering-only-fluorine
+ - sfc-csit-3node-docker-full-deploy-all-fluorine
+ - sfc-csit-3node-rest-basic-all-fluorine
+ <<: *releng_view_common
+
+- view:
+ name: csit-stable-ne
+ description: 'List of stable integration jobs for managed projects'
+ job-name:
+ - aaa-csit-1node-authn-all-neon
+ - bgpcep-csit-1node-throughpcep-all-neon
+ - coe-csit-1node-container-networking-all-neon
+ - controller-csit-1node-akka1-all-neon
+ - controller-csit-1node-benchmark-all-neon
+ - controller-csit-1node-notifications-longevity-only-neon
+ - controller-csit-1node-rest-cars-perf-all-neon
+ - controller-csit-3node-benchmark-all-neon
+ - controller-csit-3node-drb-precedence-longevity-only-neon
+ - controller-csit-3node-rest-clust-cars-perf-ask-only-neon
+ - controller-csit-3node-rest-clust-cars-perf-tell-only-neon
+ - daexim-csit-1node-basic-only-neon
+ - daexim-csit-3node-clustering-basic-only-neon
+ - distribution-csit-1node-userfeatures-all-neon
+ - genius-csit-1node-upstream-only-neon
+ - genius-csit-3node-upstream-only-neon
+ - lispflowmapping-csit-1node-msmr-all-neon
+ - netconf-csit-1node-callhome-only-neon
+ - netconf-csit-1node-userfeatures-all-neon
+ - netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-sfc-neon
+ - netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-neon
+ - openflowplugin-csit-1node-flow-services-all-neon
+ - openflowplugin-csit-1node-longevity-only-neon
+ - openflowplugin-csit-1node-perf-bulkomatic-only-neon
+ - openflowplugin-csit-1node-perf-stats-collection-only-neon
+ - openflowplugin-csit-1node-sanity-only-neon
+ - openflowplugin-csit-1node-scale-link-only-neon
+ - openflowplugin-csit-1node-scale-only-neon
+ - openflowplugin-csit-1node-scale-switch-only-neon
+ - openflowplugin-csit-3node-clustering-bulkomatic-only-neon
+ - openflowplugin-csit-3node-clustering-only-neon
+ - ovsdb-csit-3node-upstream-clustering-only-neon
+ - sfc-csit-3node-docker-full-deploy-all-neon
+ - sfc-csit-3node-rest-basic-all-neon
+ <<: *releng_view_common