4 project: integration/test
5 project-name: integration-test
8 - '{project-name}-verify-tox-master'
9 - 'integration-csit-verify-1node-library'
10 - 'integration-distribution-test-{stream}'
11 - 'integration-sanity-test-{stream}'
12 - 'integration-patch-test-{stream}'
13 - 'integration-multipatch-test-{stream}'
14 - 'integration-distribution-weekly-test-trigger-{stream}'
15 - 'integration-distribution-high-frequency-test-trigger-{stream}'
16 - 'integration-update-csit-tests-{stream}'
18 # CSIT Lists in releng-defaults.yaml
23 csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
24 csit-list: !include: csit-jobs-oxygen.lst
25 csit-sanity-list: '{csit-sanity-list-oxygen}'
26 csit-weekly-list: '{csit-weekly-list-oxygen}'
27 csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
30 branch: 'stable/nitrogen'
32 csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
33 csit-list: !include: csit-jobs-nitrogen.lst
34 csit-sanity-list: '{csit-sanity-list-nitrogen}'
35 csit-weekly-list: '{csit-weekly-list-nitrogen}'
36 csit-high-frequency-list: '{csit-high-frequency-list-nitrogen}'
39 branch: 'stable/carbon'
43 csit-blacklist: longevity gate sanity capwap centinel coe jsonrpc
44 csit-list: !include: csit-jobs-carbon.lst
45 csit-sanity-list: '{csit-sanity-list-carbon}'
46 csit-weekly-list: '{csit-weekly-list-carbon}'
47 csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
50 branch: 'stable/boron'
54 csit-blacklist: longevity gate sanity jsonrpc
55 csit-list: !include: csit-jobs-boron.lst
56 csit-sanity-list: '{csit-sanity-list-boron}'
57 csit-weekly-list: '{csit-weekly-list-boron}'
58 csit-high-frequency-list: ''
59 schedule-high-frequency: ''
62 tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
64 # Template: integration-csit-verify-1node-library
65 # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
66 # Operation: This job template performs a base openflow test when there is a change in the libraries folder
69 name: 'integration-csit-verify-1node-library'
71 project-type: freestyle
72 node: centos7-robot-2c-2g
74 # {stream} is already defined as a composite object, it cannot be overriden.
76 # This is not a template, so define branch, scope and jre for distribution to test with.
82 - opendaylight-infra-properties:
83 build-days-to-keep: '{build-days-to-keep}'
86 - opendaylight-infra-parameters:
87 os-cloud: '{os-cloud}'
89 branch: '{test-branch}'
90 refspec: 'refs/heads/{test-branch}'
91 artifacts: '{archive-artifacts}'
92 - integration-distribution-branch:
93 branch: '{verify-branch}'
94 - integration-distribution-stream:
95 stream: '{verify-stream}'
96 - integration-bundle-url:
97 bundle-url: '{bundle-url}'
98 - integration-controller-scope:
99 controller-scope: '{scope}'
100 - integration-controller-features:
101 controller-features: >
102 odl-clustering-test-app,
103 odl-openflowplugin-flow-services-ui,
104 odl-openflowplugin-app-table-miss-enforcer,
107 odl-netconf-connector-all
108 # when upgrading to carbon you should replace odl-netconf-connector-all with odl-netconf-topology
109 # and change USE_NETCONF_CONNECTOR to False in test-options
110 - integration-test-options:
111 test-options: '-v TIMEOUT_BUG_4220:10s -v USE_NETCONF_CONNECTOR:True'
112 - integration-stream-test-plan:
113 stream-test-plan: 'test-libraries-{verify-stream}.txt'
114 - integration-test-plan:
115 test-plan: 'test-libraries.txt'
116 - integration-patch-refspec:
117 branch: '$GERRIT_REFSPEC'
118 - integration-jdk-version:
120 - distribution-karaf-version:
121 karaf-version: '{verify-karaf-version}'
124 - integration-gerrit-scm:
126 refspec: '$PATCHREFSPEC'
127 branch: '{test-branch}'
130 - opendaylight-infra-wrappers:
131 build-timeout: '{build-timeout}'
134 - integration-trigger-patch-submitted:
135 server: '{server-name}'
137 branch: '{test-branch}'
138 files: 'csit/libraries/*'
141 - integration-infra-stack:
142 stack-template: '{stack-template}'
144 vm_0_flavor: '{odl_system_flavor}'
145 vm_0_image: '{odl_system_image}'
146 vm_1_count: '{tools_system_count}'
147 vm_1_flavor: '{tools_system_flavor}'
148 vm_1_image: '{tools_system_image}'
149 - integration-install-robotframework
151 properties-file: 'env.properties'
152 - integration-get-slave-addresses
154 properties-file: 'slave_addresses.txt'
155 - integration-detect-variables
156 - integration-deploy-controller-run-test
157 - integration-cleanup-tmp
163 - email-notification:
164 email-recipients: '{email-recipients}'
165 email-prefix: '[integration]'
166 - integration-csit-archive-build
169 # Template: integration-distribution-test-{stream}
170 # Goal: Verify a distribution through all system test available
171 # Operation: This template takes a distribution and passes all available system test
174 name: 'integration-distribution-test-{stream}'
176 project-type: freestyle
177 node: centos7-robot-2c-2g
180 - opendaylight-infra-properties:
181 build-days-to-keep: '{build-days-to-keep}'
184 - integration-bundle-url:
185 bundle-url: '{bundle-url}'
186 - distribution-karaf-version:
187 karaf-version: '{karaf-version}'
191 - project: '{csit-list}'
193 predefined-parameters: |
194 BUNDLE_URL=$BUNDLE_URL
195 KARAF_VERSION=$KARAF_VERSION
198 - opendaylight-infra-generate-csit-status-report
199 - email-notification:
200 email-recipients: '{email-recipients}'
201 email-prefix: '[integration]'
204 # Template: integration-sanity-test-{stream}
205 # Goal: Verify a distribution through sanity test
206 # Operation: This template takes a distribution and passes sanity test
209 name: 'integration-sanity-test-{stream}'
211 project-type: freestyle
212 node: centos7-robot-2c-2g
215 - opendaylight-infra-properties:
216 build-days-to-keep: '{build-days-to-keep}'
219 - integration-bundle-url:
220 bundle-url: '{bundle-url}'
221 - distribution-karaf-version:
222 karaf-version: '{karaf-version}'
226 - project: '{csit-sanity-list}'
228 predefined-parameters: |
229 BUNDLE_URL=$BUNDLE_URL
230 KARAF_VERSION=$KARAF_VERSION
233 - email-notification:
234 email-recipients: '{email-recipients}'
235 email-prefix: '[integration]'
237 # Template: integration-patch-test-{stream}
238 # Goal: Build a patch and run all available system test on a distribution containing the change
239 # Operation: This job template builds a patch, creates a distribution containing the patch, and
240 # triggers the distribution test when test-integration is used in gerrit comments
243 name: 'integration-patch-test-{stream}'
245 project-type: freestyle
246 node: centos7-java-builder-2c-8g
249 - opendaylight-infra-properties:
250 build-days-to-keep: '{build-days-to-keep}'
253 - opendaylight-infra-parameters:
254 os-cloud: '{os-cloud}'
255 project: '$GERRIT_PROJECT'
257 refspec: '$GERRIT_REFSPEC'
258 artifacts: '{archive-artifacts}'
259 - integration-distribution-branch:
261 - distribution-karaf-version:
262 karaf-version: '{karaf-version}'
263 - integration-distribution-git-url:
269 - integration-gerrit-scm:
270 basedir: '$GERRIT_PROJECT'
271 refspec: '$GERRIT_REFSPEC'
273 - integration-distribution-scm:
277 - opendaylight-infra-wrappers:
282 server-name: '{server-name}'
284 - comment-added-contains-event:
285 comment-contains-value: 'test-integration'
287 - project-compare-type: 'ANT'
288 project-pattern: '**'
290 - branch-compare-type: 'ANT'
291 branch-pattern: '**/{branch}'
299 - integration-rebase-gerrit-patch
300 - wipe-org-opendaylight-repo
301 - provide-maven-settings:
302 global-settings-file: 'global-settings'
303 settings-file: 'integration-settings'
305 maven-version: 'mvn33'
306 pom: '$GERRIT_PROJECT/pom.xml'
308 clean install dependency:tree -DoutputFile=dependency_tree.txt
311 {opendaylight-infra-mvn-opts}
313 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
314 settings: integration-settings
316 global-settings: global-settings
317 global-settings-type: cfp
320 pom: distribution/pom.xml
322 clean install dependency:tree -DoutputFile=dependency_tree.txt
323 {opendaylight-infra-mvn-opts}
325 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
326 settings: integration-settings
328 global-settings: global-settings
329 global-settings-type: cfp
330 - integration-upload-distribution:
331 dist-pom: distribution/pom.xml
333 - project: '{csit-list}'
335 predefined-parameters: |
336 BUNDLE_URL=$BUNDLE_URL
337 KARAF_VERSION=$KARAF_VERSION
341 - email-notification:
342 email-recipients: '{email-recipients}'
343 email-prefix: '[$GERRIT_PROJECT]'
347 name: 'integration-multipatch-test-{stream}'
348 # Goal: Build one or more patches and run all available system test on a distribution containing the change.
349 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
350 # containing these patches, and triggers the distribution test job which includes most (if not all) available
352 # TODO: Move the following to appropriate readthedocs document.
353 # Recommended Sandbox usage:
354 # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
355 # 1. Copy the csit job name to clipboard.
356 # 2. Navigate to Sandbox page of this job.
357 # 3. Click "Configure".
358 # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
359 # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
360 # 6. Click "Save" button.
361 # 7. Click "Build with Parameters".
362 # yamllint disable-line rule:line-length
363 # 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
364 # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
365 # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
366 # 11. Click Parameters and copy the long value of BUNDLE_URL field to clipboard.
367 # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLE_URL value
368 # so you do not have to wait for multipatch build. Repeat step 12.
369 # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
371 project-type: freestyle
372 node: centos7-java-builder-8c-8g
376 - opendaylight-infra-properties:
377 build-days-to-keep: '{build-days-to-keep}'
380 - patches-to-build-parameter:
381 patches_to_build: '$PATCHES_TO_BUILD'
382 - run-test-parameter:
384 - integration-distribution-branch:
386 - distribution-karaf-version:
387 karaf-version: '{karaf-version}'
388 - opendaylight-infra-parameters:
389 os-cloud: '{os-cloud}'
390 project: 'integration/distribution'
392 refspec: 'refs/heads/{branch}'
393 artifacts: '{archive-artifacts}'
398 - opendaylight-infra-wrappers:
399 build-timeout: '1200'
402 - wipe-org-opendaylight-repo
403 - integration-multipatch-builder
404 - provide-maven-settings:
405 global-settings-file: 'global-settings'
406 settings-file: 'yangtools-settings'
409 pom: patch_tester/pom.xml
410 # TODO: Make Maven options configurable. Currently tests are not skipped, everything else is.
412 clean install dependency:tree -DoutputFile=dependency_tree.txt
416 {opendaylight-infra-mvn-opts}
418 - '-Xmx3072m -Dmaven.compile.fork=true'
419 settings: integration-settings
421 global-settings: global-settings
422 global-settings-type: cfp
423 - integration-upload-distribution:
424 dist-pom: patch_tester/distribution/pom.xml
426 condition-kind: boolean-expression
427 condition-expression: $RUNTEST
430 - project: '{csit-list}'
432 predefined-parameters: |
433 BUNDLE_URL=$BUNDLE_URL
434 KARAF_VERSION=$KARAF_VERSION
438 - email-notification:
439 email-recipients: '{email-recipients}'
440 email-prefix: '[int/dist]'
443 name: 'integration-distribution-weekly-test-trigger-{stream}'
445 project-type: freestyle
446 node: centos7-robot-2c-2g
449 - opendaylight-infra-properties:
450 build-days-to-keep: '{build-days-to-keep}'
453 - integration-bundle-url:
454 bundle-url: '{bundle-url}'
455 - distribution-karaf-version:
456 karaf-version: '{karaf-version}'
459 - timed: '{schedule-weekly}'
463 - project: '{csit-weekly-list}'
465 predefined-parameters: |
466 BUNDLE_URL=$BUNDLE_URL
467 KARAF_VERSION=$KARAF_VERSION
470 - email-notification:
471 email-recipients: '{email-recipients}'
472 email-prefix: '[integration]'
475 name: 'integration-distribution-high-frequency-test-trigger-{stream}'
477 project-type: freestyle
478 node: centos7-robot-2c-2g
481 - opendaylight-infra-properties:
482 build-days-to-keep: '{build-days-to-keep}'
485 - integration-bundle-url:
486 bundle-url: '{bundle-url}'
487 - distribution-karaf-version:
488 karaf-version: '{karaf-version}'
491 - timed: '{schedule-high-frequency}'
495 - project: '{csit-high-frequency-list}'
497 predefined-parameters: |
498 BUNDLE_URL=$BUNDLE_URL
499 KARAF_VERSION=$KARAF_VERSION
502 - email-notification:
503 email-recipients: '{email-recipients}'
504 email-prefix: '[integration]'
507 name: 'integration-update-csit-tests-{stream}'
509 # This job's purpose is to update csit
510 # tests to run in integration-distribution-test-{stream}
511 # by updating integration files: csit-list-carbon.inc,
512 # csit-list-boron.inc, csit-list-beryllium.inc
513 # These files can be used as !include in int-dist-test-{stream}
515 ######################
516 # Default parameters #
517 ######################
519 git-url: '$GIT_URL/$PROJECT'
520 submodule-recursive: true
522 #####################
523 # Job Configuration #
524 #####################
526 project-type: freestyle
527 node: centos7-java-builder-2c-4g
530 - lf-infra-properties:
531 build-days-to-keep: 7
534 - lf-infra-parameters:
535 project: releng/builder # Hardcode as this job needs to pull releng/builder
537 branch: master # Hardcode as releng/builder only has master
538 lftools-version: '{lftools-version}'
541 default: '{csit-blacklist}'
542 description: Space separated list of jobs strings to blacklist.
545 - lf-infra-gerrit-scm:
546 jenkins-ssh-credential: '{jenkins-ssh-credential}'
548 refspec: '$GERRIT_REFSPEC'
549 branch: '$GERRIT_BRANCH'
550 submodule-recursive: '{submodule-recursive}'
551 choosing-strategy: default
556 jenkins-ssh-credential: '{jenkins-ssh-credential}'
560 jobs: builder-jjb-merge
563 - shell: !include-raw-escape: update-csit-tests.sh
566 git add jjb/integration/*.lst
567 - opendaylight-infra-push-gerrit-patch:
568 project: "releng/builder"
569 gerrit-topic: "auto-update-csit-jobs-{stream}"
570 gerrit-commit-message: "Auto Update CSIT Jobs to run for {stream}"