--- - project: name: integration-test project: integration/test project-name: integration-test jobs: - 'integration-patch-test-{stream}' - 'inttest-multipatch' - '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 build-node: centos7-builder-2c-2g # CSIT Lists in defaults.yaml stream: - aluminium: branch: 'master' mvn-version: 'mvn35' java-version: 'openjdk11' csit-list: !include: csit-jobs-aluminium.lst build-order: > odlparent yangtools mdsal controller infrautils serviceutils aaa netconf daexim jsonrpc ovsdb neutron openflowplugin genius lispflowmapping netvirt bgpcep integration/distribution - magnesium: branch: 'stable/magnesium' mvn-version: 'mvn35' java-version: 'openjdk11' csit-list: !include: csit-jobs-magnesium.lst build-order: > odlparent yangtools mdsal infrautils controller serviceutils aaa netconf daexim jsonrpc ovsdb neutron openflowplugin genius lispflowmapping netvirt bgpcep integration/distribution - sodium: branch: 'stable/sodium' mvn-version: 'mvn35' csit-list: !include: csit-jobs-sodium.lst build-order: > odlparent yangtools mdsal infrautils 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-mri-test-{stream}' - 'integration-distribution-weekly-test-trigger-{stream}' - 'integration-update-csit-tests-{stream}' # CSIT Lists in defaults.yaml stream: - aluminium: branch: 'master' csit-blocklist: > alto bier coe controller detnet dluxapps groupbasedpolicy l2switch mdsal nemo p4plugin packetcable sfc sxp telemetry tsdr unimgr usc yangtools gate longevity sanity tdd tempest wip bgpcep-csit-3node-bgpclustering-all bgpcep-csit-3node-bgpclustering-ha-only netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct netvirt-csit-3node-1cmb openflowplugin-csit-1node-bundle-based-reconciliation last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used csit-list: !include: csit-jobs-aluminium.lst csit-mri-list: '{csit-mri-list-aluminium}' csit-weekly-list: '{csit-weekly-list-aluminium}' - magnesium: branch: 'stable/magnesium' csit-blocklist: > alto bier coe detnet dluxapps groupbasedpolicy l2switch mdsal nemo p4plugin packetcable sfc sxp telemetry tsdr unimgr usc yangtools gate longevity sanity tdd tempest wip bgpcep-csit-3node-bgpclustering-all bgpcep-csit-3node-bgpclustering-ha-only netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct netvirt-csit-3node-1cmb openflowplugin-csit-1node-bundle-based-reconciliation last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used csit-list: !include: csit-jobs-magnesium.lst csit-mri-list: '{csit-mri-list-magnesium}' csit-weekly-list: '{csit-weekly-list-magnesium}' - sodium: branch: 'stable/sodium' csit-blocklist: > alto bier dluxapps groupbasedpolicy jsonrpc l2switch mdsal nemo p4plugin packetcable sxp telemetry tsdr unimgr usc yangtools gate longevity sanity tdd tempest wip bgpcep-csit-3node-bgpclustering-all bgpcep-csit-3node-bgpclustering-ha-only netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct netvirt-csit-3node-1cmb openflowplugin-csit-1node-bundle-based-reconciliation last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used csit-list: !include: csit-jobs-sodium.lst csit-mri-list: '{csit-mri-list-sodium}' csit-weekly-list: '{csit-weekly-list-sodium}' - project: name: integration-sanity project: integration/test project-name: integration-test jobs: - 'integration-sanity-test-{stream}' stream: - aluminium: branch: 'master' karaf-version: odl csit-sanity-list: '{csit-sanity-list-aluminium}' - magnesium: branch: 'stable/magnesium' karaf-version: odl csit-sanity-list: '{csit-sanity-list-magnesium}' - sodium: branch: 'stable/sodium' karaf-version: odl csit-sanity-list: '{csit-sanity-list-sodium}' - 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: - lf-infra-pre-build - 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: queue-disttest-2c-1g properties: - opendaylight-infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - integration-bundle-url: bundle-url: '{bundle-url}' - distribution-karaf-version: karaf-version: '{karaf-version}' builders: - lf-infra-pre-build - trigger-builds: - project: '{csit-list}' block: true predefined-parameters: | BUNDLE_URL=$BUNDLE_URL KARAF_VERSION=$KARAF_VERSION wrappers: - lf-infra-wrappers: build-timeout: 1440 jenkins-ssh-credential: '{jenkins-ssh-credential}' publishers: - opendaylight-infra-generate-csit-status-report - email-notification: email-recipients: '{email-recipients}' email-prefix: '[integration]' - lf-infra-publish - 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: queue-intque-2c-1g properties: - opendaylight-infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - integration-bundle-url: bundle-url: '{bundle-url}' - distribution-karaf-version: karaf-version: '{karaf-version}' triggers: - timed: '{schedule-daily}' builders: - lf-infra-pre-build - trigger-builds: - project: '{csit-sanity-list}' block: true predefined-parameters: | BUNDLE_URL=$BUNDLE_URL KARAF_VERSION=$KARAF_VERSION publishers: - email-notification: email-recipients: '{email-recipients}' email-prefix: '[integration]' - 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-builder-2c-8g properties: - opendaylight-infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - opendaylight-infra-parameters: os-cloud: '{os-cloud}' project: '$GERRIT_PROJECT' branch: '{branch}' refspec: '$GERRIT_REFSPEC' artifacts: '{archive-artifacts}' - integration-distribution-branch: branch: '{branch}' - distribution-karaf-version: karaf-version: '{karaf-version}' - integration-distribution-git-url: git-url: '{git-url}' - maven-exec: maven-version: mvn35 scm: - integration-gerrit-scm: basedir: '$GERRIT_PROJECT' refspec: '$GERRIT_REFSPEC' branch: '{branch}' - integration-distribution-scm: branch: '{branch}' wrappers: - opendaylight-infra-wrappers: build-timeout: '720' triggers: - gerrit: server-name: '{gerrit-server-name}' trigger-on: - comment-added-contains-event: comment-contains-value: 'test-integration' projects: - project-compare-type: 'ANT' project-pattern: '**' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' skip-vote: successful: true failed: true unstable: true notbuilt: true builders: - lf-infra-pre-build - integration-rebase-gerrit-patch - wipe-org-opendaylight-repo - lf-provide-maven-settings: global-settings-file: 'global-settings' settings-file: 'integration-settings' - lf-update-java-alternatives: java-version: '{java-version}' - maven-target: maven-version: 'mvn35' pom: '$GERRIT_PROJECT/pom.xml' goals: | clean install dependency:tree -DoutputFile=dependency_tree.txt -Pq -Dstream={stream} {opendaylight-infra-mvn-opts} # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT. java-opts: - '-Xmx4096m -Dmaven.compile.fork=true' settings: integration-settings settings-type: cfp global-settings: global-settings global-settings-type: cfp - maven-target: maven-version: mvn35 pom: distribution/pom.xml goals: | clean install dependency:tree -DoutputFile=dependency_tree.txt {opendaylight-infra-mvn-opts} # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT. java-opts: - '-Xmx1024m -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: | BUNDLE_URL=$BUNDLE_URL KARAF_VERSION=$KARAF_VERSION publishers: - lf-infra-publish - email-notification: email-recipients: '{email-recipients}' email-prefix: '[$GERRIT_PROJECT]' - job-template: name: '{prefix}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 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. id: inttest-multipatch project-type: freestyle node: centos7-builder-8c-8g concurrent: true properties: - opendaylight-infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - string: name: PATCHES_TO_BUILD default: '$PATCHES_TO_BUILD' description: | Ordered list of patches to build in the format of project=changeset (checkout) or project:changeset (cherry-pick) for example: genius=32/53632/9,netvirt:59/50259/47. - string: name: BUILD_ORDER default: '{build-order}' description: 'Build order for multipatch test when topic is used' - string: name: BUILD_FAST default: 'true' description: 'Set true to build fast -Pq' - string: name: BUILD_NORMAL default: '' description: 'List of projects to build normal (no -Pq) when BUILD_FAST=true' - string: name: RUN_TEST default: 'false' description: 'Set true to run test after build' - integration-distribution-branch: branch: '{branch}' - integration-distribution-stream: stream: '{stream}' - distribution-karaf-version: karaf-version: '{karaf-version}' - opendaylight-infra-parameters: os-cloud: '{os-cloud}' project: 'integration/distribution' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - 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: build-timeout: '1200' triggers: - gerrit: server-name: '{gerrit-server-name}' trigger-on: - comment-added-contains-event: comment-contains-value: 'multipatch-build' projects: - project-compare-type: ANT project-pattern: '**' branches: - branch-compare-type: ANT branch-pattern: '**/{branch}' builders: - lf-infra-pre-build - wipe-org-opendaylight-repo - lf-maven-install: mvn-version: '{mvn-version}' - lf-provide-maven-settings: global-settings-file: 'global-settings' settings-file: 'integration-distribution-settings' - lf-update-java-alternatives: java-version: '{java-version}' - integration-multipatch-builder - integration-upload-distribution: dist-pom: patch_tester/distribution/pom.xml - conditional-step: condition-kind: boolean-expression condition-expression: $RUN_TEST steps: - trigger-builds: - project: > integration-distribution-test-{stream}, integration-distribution-mri-test-{stream} predefined-parameters: | BUNDLE_URL=$BUNDLE_URL KARAF_VERSION=$KARAF_VERSION publishers: - lf-infra-publish - email-notification: email-recipients: '{email-recipients}' email-prefix: '[int/dist]' - job-template: name: 'integration-distribution-mri-test-{stream}' project-type: freestyle node: queue-intque-2c-1g properties: - opendaylight-infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - integration-bundle-url: bundle-url: '{bundle-url}' - distribution-karaf-version: karaf-version: '{karaf-version}' triggers: - timed: '{schedule-weekly}' builders: - trigger-builds: - project: '{csit-mri-list}' block: true predefined-parameters: | BUNDLE_URL=$BUNDLE_URL KARAF_VERSION=$KARAF_VERSION publishers: - email-notification: email-recipients: '{email-recipients}' email-prefix: '[integration]' - job-template: name: 'integration-distribution-weekly-test-trigger-{stream}' project-type: freestyle node: queue-intque-2c-1g properties: - opendaylight-infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - integration-bundle-url: bundle-url: '{bundle-url}' - distribution-karaf-version: karaf-version: '{karaf-version}' triggers: - timed: '{schedule-weekly}' builders: - trigger-builds: - project: '{csit-weekly-list}' block: true predefined-parameters: | BUNDLE_URL=$BUNDLE_URL KARAF_VERSION=$KARAF_VERSION publishers: - email-notification: email-recipients: '{email-recipients}' email-prefix: '[integration]' - job-template: name: 'integration-update-csit-tests-{stream}' # This job's purpose is to update csit # tests to run in integration-distribution-test-{stream} # by updating integration files: csit-list-{stream}.inc # These files can be used as !include in int-dist-test-{stream} ###################### # Default parameters # ###################### git-url: '$GIT_URL/$PROJECT' submodule-disable: false submodule-recursive: true submodule-timeout: 10 ##################### # Job Configuration # ##################### project-type: freestyle node: centos7-builder-2c-2g properties: - lf-infra-properties: build-days-to-keep: 7 parameters: - lf-infra-parameters: project: releng/builder # Hardcode as this job needs to pull releng/builder stream: '{stream}' branch: master # Hardcode as releng/builder only has master lftools-version: '{lftools-version}' - string: name: CSIT_BLOCKLIST default: '{csit-blocklist}' description: Space separated list of jobs strings to blocklist. scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' git-url: '{git-url}' refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-disable: '{submodule-disable}' submodule-recursive: '{submodule-recursive}' submodule-timeout: '{submodule-timeout}' choosing-strategy: default wrappers: - lf-infra-wrappers: build-timeout: 10 jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - reverse: jobs: builder-jjb-merge builders: - lf-infra-pre-build - shell: !include-raw-escape: update-csit-tests.sh - shell: | git status git add jjb/integration/*.lst - 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@gmail.com' publishers: - lf-infra-publish - project: name: integration-info jobs: - gerrit-info-yaml-verify project: integration project-name: integration branch: master build-node: centos7-builder-2c-1g - project: name: integration-view views: - project-view project-name: integration