X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Fintegration-test-jobs.yaml;h=a771d0b213b0c83af858a693f57a1a5bd16429c2;hb=4b526239b3edeb5e38ea0f71eee22c423c5ad434;hp=c9e73ec34134355e879e20083beb7d5d8c2ba284;hpb=66d9d9f7c8d5fadc451faf7051dbfa25b801acee;p=releng%2Fbuilder.git diff --git a/jjb/integration/integration-test-jobs.yaml b/jjb/integration/integration-test-jobs.yaml index c9e73ec34..3ae1fb43d 100644 --- a/jjb/integration/integration-test-jobs.yaml +++ b/jjb/integration/integration-test-jobs.yaml @@ -3,58 +3,180 @@ 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: @@ -81,15 +203,14 @@ 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: @@ -101,6 +222,9 @@ - distribution-karaf-version: karaf-version: '{karaf-version}' + triggers: + - timed: '{schedule-daily}' + builders: - trigger-builds: - project: '{csit-sanity-list}' @@ -114,16 +238,15 @@ 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: @@ -143,7 +266,7 @@ - integration-distribution-git-url: git-url: '{git-url}' - maven-exec: - maven-version: mvn33 + maven-version: mvn35 scm: - integration-gerrit-scm: @@ -178,18 +301,18 @@ 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 @@ -197,11 +320,12 @@ 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 @@ -227,31 +351,14 @@ - 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: @@ -260,10 +367,16 @@ 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: @@ -272,8 +385,11 @@ 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: @@ -284,7 +400,7 @@ 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: '**' @@ -294,32 +410,17 @@ 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}' @@ -338,7 +439,7 @@ name: 'integration-distribution-weekly-test-trigger-{stream}' project-type: freestyle - node: centos7-robot-1c-4g + node: queue-intque-2c-1g properties: - opendaylight-infra-properties: @@ -370,7 +471,7 @@ 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: @@ -412,13 +513,14 @@ 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: @@ -442,6 +544,7 @@ refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: '{submodule-recursive}' + submodule-timeout: '{submodule-timeout}' choosing-strategy: default wrappers: @@ -458,10 +561,99 @@ - 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