project-name: integration-test
test-branch: master
jobs:
- - '{project-name}-verify-tox-master'
- - 'integration-csit-verify-1node-library'
- 'integration-distribution-test-{stream}'
- 'integration-sanity-test-{stream}'
- 'integration-patch-test-{stream}'
- 'integration-distribution-weekly-test-trigger-{stream}'
- 'integration-distribution-high-frequency-test-trigger-{stream}'
- 'integration-update-csit-tests-{stream}'
+ - gerrit-tox-verify:
+ branch: master
+ stream: master
# CSIT Lists in releng-defaults.yaml
stream:
- oxygen:
branch: 'master'
- jdk: 'openjdk8'
- csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
+ csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tdd wip
csit-list: !include: csit-jobs-oxygen.lst
csit-sanity-list: '{csit-sanity-list-oxygen}'
csit-weekly-list: '{csit-weekly-list-oxygen}'
- schedule-weekly: 'H 23 * * 6'
csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
- schedule-high-frequency: ''
+ mvn-version: 'mvn33'
- nitrogen:
branch: 'stable/nitrogen'
- jre: 'openjdk8'
- csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
+ csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr tdd wip
csit-list: !include: csit-jobs-nitrogen.lst
csit-sanity-list: '{csit-sanity-list-nitrogen}'
csit-weekly-list: '{csit-weekly-list-nitrogen}'
- schedule-weekly: 'H 23 * * 6'
csit-high-frequency-list: '{csit-high-frequency-list-nitrogen}'
- schedule-high-frequency: ''
+ mvn-version: 'mvn33'
- carbon:
branch: 'stable/carbon'
karaf-version: karaf3
- jdk: 'openjdk8'
- jre: 'openjdk8'
- csit-blacklist: longevity gate sanity capwap centinel coe jsonrpc
+ csit-blacklist: longevity gate sanity capwap centinel coe jsonrpc tdd wip
csit-list: !include: csit-jobs-carbon.lst
csit-sanity-list: '{csit-sanity-list-carbon}'
csit-weekly-list: '{csit-weekly-list-carbon}'
- schedule-weekly: 'H 23 * * 6'
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-blacklist: longevity gate sanity jsonrpc
- csit-list: !include: csit-jobs-boron.lst
- csit-sanity-list: '{csit-sanity-list-boron}'
- csit-weekly-list: '{csit-weekly-list-boron}'
- schedule-weekly: 'H 23 * * 6'
- csit-high-frequency-list: ''
- schedule-high-frequency: ''
+ mvn-version: 'mvn33'
# tools system image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
-
-# Template: integration-csit-verify-1node-library
-# Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
-# Operation: This job template performs a base openflow test when there is a change in the libraries folder
-
-- job-template:
- name: 'integration-csit-verify-1node-library'
-
- project-type: freestyle
- node: centos7-robot-2c-2g
-
- # {stream} is already defined as a composite object, it cannot be overriden.
- dist-stream: boron
- # This is not a template, so define branch, scope and jre for distribution to test with.
- branch: stable/boron
- scope: only
- jre: openjdk8
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
-
- 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: '{verify-branch}'
- - integration-distribution-stream:
- stream: '{verify-stream}'
- - integration-bundle-url:
- bundle-url: '{bundle-url}'
- - integration-controller-scope:
- controller-scope: '{scope}'
- - integration-controller-features:
- controller-features: >
- odl-clustering-test-app,
- odl-openflowplugin-flow-services-ui,
- odl-openflowplugin-app-table-miss-enforcer,
- odl-bgpcep-pcep,
- odl-bgpcep-bgp,
- odl-netconf-connector-all
- # when upgrading to carbon you should replace odl-netconf-connector-all with odl-netconf-topology
- # and change USE_NETCONF_CONNECTOR to False in test-options
- - integration-test-options:
- test-options: '-v TIMEOUT_BUG_4220:10s -v USE_NETCONF_CONNECTOR:True'
- - integration-stream-test-plan:
- 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:
- basedir: 'test'
- refspec: '$PATCHREFSPEC'
- branch: '{test-branch}'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- - integration-trigger-patch-submitted:
- server: '{server-name}'
- project: '{project}'
- branch: '{test-branch}'
- files: 'csit/libraries/*'
-
- builders:
- - integration-infra-stack:
- stack-template: '{stack-template}'
- vm_0_count: '1'
- vm_0_flavor: '{odl_system_flavor}'
- vm_0_image: '{odl_system_image}'
- vm_1_count: '{tools_system_count}'
- vm_1_flavor: '{tools_system_flavor}'
- vm_1_image: '{tools_system_image}'
- - integration-install-robotframework
- - inject:
- properties-file: 'env.properties'
- - integration-get-slave-addresses
- - inject:
- properties-file: 'slave_addresses.txt'
- - integration-detect-variables
- - integration-deploy-controller-run-test
- - integration-cleanup-tmp
-
- publishers:
- - integration-robot:
- unstable-if: 0.0
- pass-if: 100.0
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[integration]'
- - integration-csit-archive-build
- - lf-infra-publish
+ 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
name: 'integration-distribution-test-{stream}'
project-type: freestyle
- node: centos7-robot-2c-2g
+ node: centos7-robot-2c-8g
properties:
- opendaylight-infra-properties:
KARAF_VERSION=$KARAF_VERSION
publishers:
+ - opendaylight-infra-generate-csit-status-report
- email-notification:
email-recipients: '{email-recipients}'
email-prefix: '[integration]'
+ - lf-infra-publish
# Template: integration-sanity-test-{stream}
# Goal: Verify a distribution through sanity test
name: 'integration-sanity-test-{stream}'
project-type: freestyle
- node: centos7-robot-2c-2g
+ node: centos7-robot-2c-8g
properties:
- opendaylight-infra-properties:
name: 'integration-patch-test-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
properties:
- opendaylight-infra-properties:
triggers:
- gerrit:
- server-name: '{server-name}'
+ server-name: '{gerrit-server-name}'
trigger-on:
- comment-added-contains-event:
comment-contains-value: 'test-integration'
-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 -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
settings: integration-settings
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 -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-8c-8g
- jdk: '{jdk}'
+ node: centos7-builder-4c-4g
+ jdk: '{java-version}'
properties:
- opendaylight-infra-properties:
run-test: 'false'
- integration-distribution-branch:
branch: '{branch}'
+ - integration-distribution-stream:
+ stream: '{stream}'
- distribution-karaf-version:
karaf-version: '{karaf-version}'
- opendaylight-infra-parameters:
- 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:
- wipe-org-opendaylight-repo
- - integration-multipatch-builder
+ - lf-maven-install:
+ mvn-version: '{mvn-version}'
- 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}
- 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:
name: 'integration-distribution-weekly-test-trigger-{stream}'
project-type: freestyle
- node: centos7-robot-2c-2g
+ node: centos7-robot-2c-8g
properties:
- opendaylight-infra-properties:
name: 'integration-distribution-high-frequency-test-trigger-{stream}'
project-type: freestyle
- node: centos7-robot-2c-2g
+ node: centos7-robot-2c-8g
properties:
- opendaylight-infra-properties:
# This job's purpose is to update csit
# tests to run in integration-distribution-test-{stream}
- # by updating integration files: csit-list-carbon.inc,
- # csit-list-boron.inc, csit-list-beryllium.inc
+ # by updating integration files: csit-list-{stream}.inc
# These files can be used as !include in int-dist-test-{stream}
######################
#####################
project-type: freestyle
- node: centos7-java-builder-2c-4g
+ node: centos7-builder-2c-8g
properties:
- lf-infra-properties: