X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Fintegration-test-jobs.yaml;h=143a61d9955eb0abe5f66d85076387f972cf80ed;hb=4d56e519e6fbba495b562771da2a5e3800d04983;hp=7a4d3fbfaf9bc01b552da0e2051a926030bb7b3a;hpb=f7d35c1dc0b5fdf640ec8ef5164d1e917039337d;p=releng%2Fbuilder.git diff --git a/jjb/integration/integration-test-jobs.yaml b/jjb/integration/integration-test-jobs.yaml index 7a4d3fbfa..143a61d99 100644 --- a/jjb/integration/integration-test-jobs.yaml +++ b/jjb/integration/integration-test-jobs.yaml @@ -8,34 +8,51 @@ - '{project-name}-verify-tox-master' - 'integration-csit-verify-1node-library' - '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}' # CSIT Lists in releng-defaults.yaml stream: - - carbon: + - nitrogen: branch: 'master' + karaf-version: karaf3 + jre: 'openjdk8' + csit-list: '{csit-list-nitrogen}' + csit-sanity-list: '{csit-sanity-list-nitrogen}' + csit-weekly-list: '{csit-weekly-list-nitrogen}' + schedule-weekly: 'H 12 * * 0' + csit-high-frequency-list: '' + schedule-high-frequency: '' + + - carbon: + branch: 'stable/carbon' + karaf-version: karaf3 jdk: 'openjdk8' jre: 'openjdk8' csit-list: '{csit-list-carbon}' - schedule: 'H H * * 0-4' + csit-sanity-list: '{csit-sanity-list-carbon}' + csit-weekly-list: '{csit-weekly-list-carbon}' + schedule-weekly: 'H 12 * * 0' + csit-high-frequency-list: '{csit-high-frequency-list-carbon}' + schedule-high-frequency: 'H H/4 * * *' - boron: branch: 'stable/boron' + karaf-version: karaf3 jdk: 'openjdk8' jre: 'openjdk8' csit-list: '{csit-list-boron}' - schedule: 'H H * * 0-4' - - - beryllium: - branch: 'stable/beryllium' - jdk: 'openjdk7' - jre: 'openjdk7' - csit-list: '{csit-list-beryllium}' - schedule: 'H H * * 6' + csit-sanity-list: '{csit-sanity-list-boron}' + csit-weekly-list: '{csit-weekly-list-boron}' + schedule-weekly: 'H 12 * * 0' + csit-high-frequency-list: '' + schedule-high-frequency: '' # tools system image - tools_system_image: Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300 + tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170609-0221 # Template: integration-csit-verify-1node-library # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables) @@ -60,16 +77,17 @@ parameters: - opendaylight-infra-parameters: + os-cloud: '{os-cloud}' project: '{project}' branch: '{test-branch}' refspec: 'refs/heads/{test-branch}' artifacts: '{archive-artifacts}' - integration-distribution-branch: - branch: '{branch}' + branch: '{verify-branch}' - integration-distribution-stream: - stream: '{dist-stream}' - - integration-bundleurl: - bundleurl: '{bundleurl}' + stream: '{verify-stream}' + - integration-bundle-url: + bundle-url: '{bundle-url}' - integration-controller-scope: controller-scope: '{scope}' - integration-controller-features: @@ -85,13 +103,15 @@ - integration-test-options: test-options: '-v TIMEOUT_BUG_4220:10s -v USE_NETCONF_CONNECTOR:True' - integration-stream-test-plan: - stream-test-plan: 'test-libraries-{dist-stream}.txt' + stream-test-plan: 'test-libraries-{verify-stream}.txt' - integration-test-plan: test-plan: 'test-libraries.txt' - integration-patch-refspec: branch: '$GERRIT_REFSPEC' - integration-jdk-version: jdkversion: '{jre}' + - distribution-karaf-version: + karaf-version: '{verify-karaf-version}' scm: - integration-gerrit-scm: @@ -125,9 +145,7 @@ - integration-get-slave-addresses - inject: properties-file: 'slave_addresses.txt' - - integration-get-bundle-vars - - inject: - properties-file: 'bundle_vars.txt' + - integration-detect-variables - integration-deploy-controller-run-test - integration-cleanup-tmp @@ -139,12 +157,11 @@ email-recipients: '{email-recipients}' email-prefix: '[integration]' - integration-csit-archive-build - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' + - lf-infra-publish # Template: integration-distribution-test-{stream} # Goal: Verify a distribution through all system test available -# Operation: This daily job template takes a distribution and passes all available system test +# Operation: This template takes a distribution and passes all available system test - job-template: name: 'integration-distribution-test-{stream}' @@ -157,20 +174,51 @@ build-days-to-keep: '{build-days-to-keep}' parameters: - - integration-bundleurl: - bundleurl: '{bundleurl}' - - integration-jdk-version: - jdkversion: '{jre}' - - triggers: - - timed: '{schedule}' + - integration-bundle-url: + bundle-url: '{bundle-url}' + - distribution-karaf-version: + karaf-version: '{karaf-version}' builders: - trigger-builds: - project: '{csit-list}' block: true - predefined-parameters: - BUNDLEURL=$BUNDLEURL + predefined-parameters: | + BUNDLE_URL=$BUNDLE_URL + KARAF_VERSION=$KARAF_VERSION + + publishers: + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[integration]' + +# 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}' + + project-type: freestyle + node: centos7-robot-2c-2g + + 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: + - trigger-builds: + - project: '{csit-sanity-list}' + block: true + predefined-parameters: | + BUNDLE_URL=$BUNDLE_URL + KARAF_VERSION=$KARAF_VERSION publishers: - email-notification: @@ -185,9 +233,8 @@ - job-template: name: 'integration-patch-test-{stream}' - project-type: maven + project-type: freestyle node: centos7-java-builder-2c-8g - jdk: '{jdk}' properties: - opendaylight-infra-properties: @@ -195,14 +242,19 @@ parameters: - opendaylight-infra-parameters: + os-cloud: '{os-cloud}' project: '$GERRIT_PROJECT' branch: '{branch}' refspec: '$GERRIT_REFSPEC' artifacts: '{archive-artifacts} **/dependency_tree.txt' - integration-distribution-branch: branch: '{branch}' + - distribution-karaf-version: + karaf-version: '{karaf-version}' - integration-distribution-git-url: git-url: '{git-url}' + - maven-exec: + maven-version: mvn33 scm: - integration-gerrit-scm: @@ -234,11 +286,8 @@ unstable: true notbuilt: true - prebuilders: + builders: - integration-rebase-gerrit-patch - - integration-get-bundle-url - - inject: - properties-file: 'bundle.txt' - wipe-org-opendaylight-repo - provide-maven-settings: global-settings-file: 'odl-global-settings' @@ -246,57 +295,71 @@ - maven-target: maven-version: 'mvn33' pom: '$GERRIT_PROJECT/pom.xml' - goals: > + goals: | clean install dependency:tree -DoutputFile=dependency_tree.txt - -V -B -Pq -Djenkins - -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r + -Pq -Dstream={stream} + {opendaylight-infra-mvn-opts} java-opts: - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' - settings: 'integration-settings' + settings: integration-settings settings-type: cfp - global-settings: 'odl-global-settings' + global-settings: odl-global-settings global-settings-type: cfp - - maven: - maven-name: 'mvn33' - root-pom: 'distribution/pom.xml' - goals: > - clean install dependency:tree -DoutputFile=dependency_tree.txt - -V -B -Djenkins - -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r - maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' - settings: 'integration-settings' - settings-type: cfp - global-settings: 'odl-global-settings' - global-settings-type: cfp - ignore-upstream-changes: true - post-step-run-condition: 'SUCCESS' - - postbuilders: + - maven-target: + maven-version: mvn33 + pom: distribution/pom.xml + goals: | + clean install dependency:tree -DoutputFile=dependency_tree.txt + {opendaylight-infra-mvn-opts} + java-opts: + - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' + settings: integration-settings + settings-type: cfp + global-settings: odl-global-settings + global-settings-type: cfp + - integration-upload-distribution: + dist-pom: distribution/pom.xml - trigger-builds: - project: '{csit-list}' block: true - predefined-parameters: - BUNDLEURL=$BUNDLEURL + predefined-parameters: | + BUNDLE_URL=$BUNDLE_URL + KARAF_VERSION=$KARAF_VERSION publishers: - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' + - lf-infra-publish - email-notification: email-recipients: '{email-recipients}' email-prefix: '[$GERRIT_PROJECT]' -# Template: 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 - 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. - project-type: maven + project-type: freestyle node: centos7-java-builder-8c-8g jdk: '{jdk}' @@ -307,53 +370,125 @@ parameters: - patches-to-build-parameter: patches_to_build: '$PATCHES_TO_BUILD' + - run-test-parameter: + run-test: 'false' - integration-distribution-branch: branch: '{branch}' + - 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} **/dependency_tree.txt' + - maven-exec: + maven-version: mvn33 - prebuilders: + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '1200' + + builders: - wipe-org-opendaylight-repo - integration-multipatch-builder - - inject: - properties-file: 'bundle.txt' - provide-maven-settings: global-settings-file: 'odl-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} + {opendaylight-infra-mvn-opts} + java-opts: + - '-Xmx7168m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' + settings: integration-settings + settings-type: cfp + global-settings: odl-global-settings + global-settings-type: cfp + - integration-upload-distribution: + dist-pom: patch_tester/distribution/pom.xml + - conditional-step: + condition-kind: boolean-expression + condition-expression: $RUNTEST + steps: + - trigger-builds: + - project: '{csit-list}' + block: true + predefined-parameters: | + BUNDLE_URL=$BUNDLE_URL + KARAF_VERSION=$KARAF_VERSION - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '1200' + publishers: + - lf-infra-publish + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[int/dist]' + +- job-template: + name: 'integration-distribution-weekly-test-trigger-{stream}' + + project-type: freestyle + node: centos7-robot-2c-2g + + 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-distribution-high-frequency-test-trigger-{stream}' + + project-type: freestyle + node: centos7-robot-2c-2g - maven: - maven-name: 'mvn33' - root-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 - -f patch_tester/pom.xml -V -B -Pq -Djenkins - -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r - -Dstream={stream} - maven-opts: '-Xmx7168m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' - settings: 'yangtools-settings' - settings-type: cfp - global-settings: 'odl-global-settings' - global-settings-type: cfp - post-step-run-condition: 'SUCCESS' - - postbuilders: + 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-high-frequency}' + + builders: - trigger-builds: - - project: '{csit-list}' + - project: '{csit-high-frequency-list}' block: true - predefined-parameters: - BUNDLEURL=$BUNDLEURL + predefined-parameters: | + BUNDLE_URL=$BUNDLE_URL + KARAF_VERSION=$KARAF_VERSION publishers: - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - email-notification: email-recipients: '{email-recipients}' - email-prefix: '[int/dist]' + email-prefix: '[integration]'