--- - 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: centos8-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: centos8-builder-2c-2g mvn-version: "mvn38" # CSIT Lists in defaults.yaml stream: - scandium: branch: "master" csit-list: !include: csit-jobs-scandium.lst build-order: > odlparent infrautils yangtools mdsal controller aaa netconf bgpcep serviceutils daexim jsonrpc ovsdb openflowplugin lispflowmapping integration/distribution - calcium: branch: "stable/calcium" csit-list: !include: csit-jobs-calcium.lst build-order: > odlparent infrautils yangtools mdsal controller aaa netconf bgpcep serviceutils daexim jsonrpc ovsdb openflowplugin lispflowmapping integration/distribution - potassium: branch: "stable/potassium" csit-list: !include: csit-jobs-potassium.lst build-order: > odlparent infrautils yangtools mdsal controller aaa netconf bgpcep serviceutils daexim jsonrpc ovsdb openflowplugin lispflowmapping integration/distribution - argon: branch: "stable/argon" csit-list: !include: csit-jobs-argon.lst build-order: > odlparent infrautils yangtools mdsal controller aaa netconf bgpcep serviceutils daexim jsonrpc ovsdb openflowplugin lispflowmapping 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: - scandium: branch: "master" csit-blocklist: > aaa controller genius lispflowmapping l2switch mdsal netconf netvirt odlmicro sxp yangtools gate longevity sanity tdd tempest wip bgpcep-csit-3node-bgpclustering-all bgpcep-csit-3node-bgpclustering-ha-only 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-scandium.lst csit-mri-list: "{csit-mri-list-scandium}" csit-weekly-list: "{csit-weekly-list-scandium}" - calcium: branch: "stable/calcium" csit-blocklist: > aaa controller genius lispflowmapping l2switch mdsal netconf netvirt odlmicro sxp yangtools gate longevity sanity tdd tempest wip bgpcep-csit-3node-bgpclustering-all bgpcep-csit-3node-bgpclustering-ha-only 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-calcium.lst csit-mri-list: "{csit-mri-list-calcium}" csit-weekly-list: "{csit-weekly-list-calcium}" - potassium: branch: "stable/potassium" csit-blocklist: > aaa controller genius lispflowmapping l2switch mdsal netconf netvirt odlmicro sxp yangtools gate longevity sanity tdd tempest wip bgpcep-csit-3node-bgpclustering-all bgpcep-csit-3node-bgpclustering-ha-only 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-potassium.lst csit-mri-list: "{csit-mri-list-potassium}" csit-weekly-list: "{csit-weekly-list-potassium}" - argon: branch: "stable/argon" csit-blocklist: > aaa controller genius lispflowmapping l2switch mdsal netconf netvirt odlmicro sxp yangtools gate longevity sanity tdd tempest wip bgpcep-csit-3node-bgpclustering-all bgpcep-csit-3node-bgpclustering-ha-only 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-argon.lst csit-mri-list: "{csit-mri-list-argon}" csit-weekly-list: "{csit-weekly-list-argon}" - project: name: integration-sanity project: integration/test project-name: integration-test jobs: - "integration-sanity-test-{stream}" stream: - scandium: branch: "master" karaf-version: odl csit-sanity-list: "{csit-sanity-list-scandium}" - calcium: branch: "stable/calcium" karaf-version: odl csit-sanity-list: "{csit-sanity-list-calcium}" - potassium: branch: "stable/potassium" karaf-version: odl csit-sanity-list: "{csit-sanity-list-potassium}" - argon: branch: "stable/argon" karaf-version: odl csit-sanity-list: "{csit-sanity-list-argon}" - 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: "{mvn-version}" 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: "{mvn-version}" 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: "{mvn-version}" 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 settings-project: integration - 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: "{mvn-version}" 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 settings-project: integration - 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: "{project}-distribution-mri-test-{stream}" id: inttest-distribution-mri-test 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: "jenkins-releng@opendaylight.org" 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