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 daexim jsonrpc
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 schedule-weekly: 'H 23 * * 6'
28 csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
29 schedule-high-frequency: ''
32 branch: 'stable/nitrogen'
34 csit-blacklist: longevity gate sanity daexim jsonrpc
35 csit-list: !include: csit-jobs-nitrogen.lst
36 csit-sanity-list: '{csit-sanity-list-nitrogen}'
37 csit-weekly-list: '{csit-weekly-list-nitrogen}'
38 schedule-weekly: 'H 23 * * 6'
39 csit-high-frequency-list: '{csit-high-frequency-list-nitrogen}'
40 schedule-high-frequency: ''
43 branch: 'stable/carbon'
47 csit-blacklist: longevity gate sanity daexim jsonrpc
48 csit-list: !include: csit-jobs-carbon.lst
49 csit-sanity-list: '{csit-sanity-list-carbon}'
50 csit-weekly-list: '{csit-weekly-list-carbon}'
51 schedule-weekly: 'H 23 * * 6'
52 csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
53 schedule-high-frequency: 'H H/4 * * *'
56 branch: 'stable/boron'
60 csit-blacklist: longevity gate sanity daexim jsonrpc
61 csit-list: !include: csit-jobs-boron.lst
62 csit-sanity-list: '{csit-sanity-list-boron}'
63 csit-weekly-list: '{csit-weekly-list-boron}'
64 schedule-weekly: 'H 23 * * 6'
65 csit-high-frequency-list: ''
66 schedule-high-frequency: ''
69 tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
71 # Template: integration-csit-verify-1node-library
72 # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
73 # Operation: This job template performs a base openflow test when there is a change in the libraries folder
76 name: 'integration-csit-verify-1node-library'
78 project-type: freestyle
79 node: centos7-robot-2c-2g
81 # {stream} is already defined as a composite object, it cannot be overriden.
83 # This is not a template, so define branch, scope and jre for distribution to test with.
89 - opendaylight-infra-properties:
90 build-days-to-keep: '{build-days-to-keep}'
93 - opendaylight-infra-parameters:
94 os-cloud: '{os-cloud}'
96 branch: '{test-branch}'
97 refspec: 'refs/heads/{test-branch}'
98 artifacts: '{archive-artifacts}'
99 - integration-distribution-branch:
100 branch: '{verify-branch}'
101 - integration-distribution-stream:
102 stream: '{verify-stream}'
103 - integration-bundle-url:
104 bundle-url: '{bundle-url}'
105 - integration-controller-scope:
106 controller-scope: '{scope}'
107 - integration-controller-features:
108 controller-features: >
109 odl-clustering-test-app,
110 odl-openflowplugin-flow-services-ui,
111 odl-openflowplugin-app-table-miss-enforcer,
114 odl-netconf-connector-all
115 # when upgrading to carbon you should replace odl-netconf-connector-all with odl-netconf-topology
116 # and change USE_NETCONF_CONNECTOR to False in test-options
117 - integration-test-options:
118 test-options: '-v TIMEOUT_BUG_4220:10s -v USE_NETCONF_CONNECTOR:True'
119 - integration-stream-test-plan:
120 stream-test-plan: 'test-libraries-{verify-stream}.txt'
121 - integration-test-plan:
122 test-plan: 'test-libraries.txt'
123 - integration-patch-refspec:
124 branch: '$GERRIT_REFSPEC'
125 - integration-jdk-version:
127 - distribution-karaf-version:
128 karaf-version: '{verify-karaf-version}'
131 - integration-gerrit-scm:
133 refspec: '$PATCHREFSPEC'
134 branch: '{test-branch}'
137 - opendaylight-infra-wrappers:
138 build-timeout: '{build-timeout}'
141 - integration-trigger-patch-submitted:
142 server: '{server-name}'
144 branch: '{test-branch}'
145 files: 'csit/libraries/*'
148 - integration-infra-stack:
149 stack-template: '{stack-template}'
151 vm_0_flavor: '{odl_system_flavor}'
152 vm_0_image: '{odl_system_image}'
153 vm_1_count: '{tools_system_count}'
154 vm_1_flavor: '{tools_system_flavor}'
155 vm_1_image: '{tools_system_image}'
156 - integration-install-robotframework
158 properties-file: 'env.properties'
159 - integration-get-slave-addresses
161 properties-file: 'slave_addresses.txt'
162 - integration-detect-variables
163 - integration-deploy-controller-run-test
164 - integration-cleanup-tmp
170 - email-notification:
171 email-recipients: '{email-recipients}'
172 email-prefix: '[integration]'
173 - integration-csit-archive-build
176 # Template: integration-distribution-test-{stream}
177 # Goal: Verify a distribution through all system test available
178 # Operation: This template takes a distribution and passes all available system test
181 name: 'integration-distribution-test-{stream}'
183 project-type: freestyle
184 node: centos7-robot-2c-2g
187 - opendaylight-infra-properties:
188 build-days-to-keep: '{build-days-to-keep}'
191 - integration-bundle-url:
192 bundle-url: '{bundle-url}'
193 - distribution-karaf-version:
194 karaf-version: '{karaf-version}'
198 - project: '{csit-list}'
200 predefined-parameters: |
201 BUNDLE_URL=$BUNDLE_URL
202 KARAF_VERSION=$KARAF_VERSION
205 - email-notification:
206 email-recipients: '{email-recipients}'
207 email-prefix: '[integration]'
209 # Template: integration-sanity-test-{stream}
210 # Goal: Verify a distribution through sanity test
211 # Operation: This template takes a distribution and passes sanity test
214 name: 'integration-sanity-test-{stream}'
216 project-type: freestyle
217 node: centos7-robot-2c-2g
220 - opendaylight-infra-properties:
221 build-days-to-keep: '{build-days-to-keep}'
224 - integration-bundle-url:
225 bundle-url: '{bundle-url}'
226 - distribution-karaf-version:
227 karaf-version: '{karaf-version}'
231 - project: '{csit-sanity-list}'
233 predefined-parameters: |
234 BUNDLE_URL=$BUNDLE_URL
235 KARAF_VERSION=$KARAF_VERSION
238 - email-notification:
239 email-recipients: '{email-recipients}'
240 email-prefix: '[integration]'
242 # Template: integration-patch-test-{stream}
243 # Goal: Build a patch and run all available system test on a distribution containing the change
244 # Operation: This job template builds a patch, creates a distribution containing the patch, and
245 # triggers the distribution test when test-integration is used in gerrit comments
248 name: 'integration-patch-test-{stream}'
250 project-type: freestyle
251 node: centos7-java-builder-2c-8g
254 - opendaylight-infra-properties:
255 build-days-to-keep: '{build-days-to-keep}'
258 - opendaylight-infra-parameters:
259 os-cloud: '{os-cloud}'
260 project: '$GERRIT_PROJECT'
262 refspec: '$GERRIT_REFSPEC'
263 artifacts: '{archive-artifacts}'
264 - integration-distribution-branch:
266 - distribution-karaf-version:
267 karaf-version: '{karaf-version}'
268 - integration-distribution-git-url:
274 - integration-gerrit-scm:
275 basedir: '$GERRIT_PROJECT'
276 refspec: '$GERRIT_REFSPEC'
278 - integration-distribution-scm:
282 - opendaylight-infra-wrappers:
287 server-name: '{server-name}'
289 - comment-added-contains-event:
290 comment-contains-value: 'test-integration'
292 - project-compare-type: 'ANT'
293 project-pattern: '**'
295 - branch-compare-type: 'ANT'
296 branch-pattern: '**/{branch}'
304 - integration-rebase-gerrit-patch
305 - wipe-org-opendaylight-repo
306 - provide-maven-settings:
307 global-settings-file: 'global-settings'
308 settings-file: 'integration-settings'
310 maven-version: 'mvn33'
311 pom: '$GERRIT_PROJECT/pom.xml'
313 clean install dependency:tree -DoutputFile=dependency_tree.txt
316 {opendaylight-infra-mvn-opts}
318 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
319 settings: integration-settings
321 global-settings: global-settings
322 global-settings-type: cfp
325 pom: distribution/pom.xml
327 clean install dependency:tree -DoutputFile=dependency_tree.txt
328 {opendaylight-infra-mvn-opts}
330 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
331 settings: integration-settings
333 global-settings: global-settings
334 global-settings-type: cfp
335 - integration-upload-distribution:
336 dist-pom: distribution/pom.xml
338 - project: '{csit-list}'
340 predefined-parameters: |
341 BUNDLE_URL=$BUNDLE_URL
342 KARAF_VERSION=$KARAF_VERSION
346 - email-notification:
347 email-recipients: '{email-recipients}'
348 email-prefix: '[$GERRIT_PROJECT]'
352 name: 'integration-multipatch-test-{stream}'
353 # Goal: Build one or more patches and run all available system test on a distribution containing the change.
354 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
355 # containing these patches, and triggers the distribution test job which includes most (if not all) available
357 # TODO: Move the following to appropriate readthedocs document.
358 # Recommended Sandbox usage:
359 # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
360 # 1. Copy the csit job name to clipboard.
361 # 2. Navigate to Sandbox page of this job.
362 # 3. Click "Configure".
363 # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
364 # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
365 # 6. Click "Save" button.
366 # 7. Click "Build with Parameters".
367 # yamllint disable-line rule:line-length
368 # 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
369 # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
370 # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
371 # 11. Click Parameters and copy the long value of BUNDLE_URL field to clipboard.
372 # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLE_URL value
373 # so you do not have to wait for multipatch build. Repeat step 12.
374 # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
376 project-type: freestyle
377 node: centos7-java-builder-8c-8g
381 - opendaylight-infra-properties:
382 build-days-to-keep: '{build-days-to-keep}'
385 - patches-to-build-parameter:
386 patches_to_build: '$PATCHES_TO_BUILD'
387 - run-test-parameter:
389 - integration-distribution-branch:
391 - distribution-karaf-version:
392 karaf-version: '{karaf-version}'
393 - opendaylight-infra-parameters:
394 os-cloud: '{os-cloud}'
395 project: 'integration/distribution'
397 refspec: 'refs/heads/{branch}'
398 artifacts: '{archive-artifacts}'
403 - opendaylight-infra-wrappers:
404 build-timeout: '1200'
407 - wipe-org-opendaylight-repo
408 - integration-multipatch-builder
409 - provide-maven-settings:
410 global-settings-file: 'global-settings'
411 settings-file: 'yangtools-settings'
414 pom: patch_tester/pom.xml
415 # TODO: Make Maven options configurable. Currently tests are not skipped, everything else is.
417 clean install dependency:tree -DoutputFile=dependency_tree.txt
421 {opendaylight-infra-mvn-opts}
423 - '-Xmx3072m -Dmaven.compile.fork=true'
424 settings: integration-settings
426 global-settings: global-settings
427 global-settings-type: cfp
428 - integration-upload-distribution:
429 dist-pom: patch_tester/distribution/pom.xml
431 condition-kind: boolean-expression
432 condition-expression: $RUNTEST
435 - project: '{csit-list}'
437 predefined-parameters: |
438 BUNDLE_URL=$BUNDLE_URL
439 KARAF_VERSION=$KARAF_VERSION
443 - email-notification:
444 email-recipients: '{email-recipients}'
445 email-prefix: '[int/dist]'
448 name: 'integration-distribution-weekly-test-trigger-{stream}'
450 project-type: freestyle
451 node: centos7-robot-2c-2g
454 - opendaylight-infra-properties:
455 build-days-to-keep: '{build-days-to-keep}'
458 - integration-bundle-url:
459 bundle-url: '{bundle-url}'
460 - distribution-karaf-version:
461 karaf-version: '{karaf-version}'
464 - timed: '{schedule-weekly}'
468 - project: '{csit-weekly-list}'
470 predefined-parameters: |
471 BUNDLE_URL=$BUNDLE_URL
472 KARAF_VERSION=$KARAF_VERSION
475 - email-notification:
476 email-recipients: '{email-recipients}'
477 email-prefix: '[integration]'
480 name: 'integration-distribution-high-frequency-test-trigger-{stream}'
482 project-type: freestyle
483 node: centos7-robot-2c-2g
486 - opendaylight-infra-properties:
487 build-days-to-keep: '{build-days-to-keep}'
490 - integration-bundle-url:
491 bundle-url: '{bundle-url}'
492 - distribution-karaf-version:
493 karaf-version: '{karaf-version}'
496 - timed: '{schedule-high-frequency}'
500 - project: '{csit-high-frequency-list}'
502 predefined-parameters: |
503 BUNDLE_URL=$BUNDLE_URL
504 KARAF_VERSION=$KARAF_VERSION
507 - email-notification:
508 email-recipients: '{email-recipients}'
509 email-prefix: '[integration]'
512 name: 'integration-update-csit-tests-{stream}'
514 # This job's purpose is to update csit
515 # tests to run in integration-distribution-test-{stream}
516 # by updating integration files: csit-list-carbon.inc,
517 # csit-list-boron.inc, csit-list-beryllium.inc
518 # These files can be used as !include in int-dist-test-{stream}
520 ######################
521 # Default parameters #
522 ######################
524 git-url: '$GIT_URL/$PROJECT'
525 submodule-recursive: true
527 #####################
528 # Job Configuration #
529 #####################
531 project-type: freestyle
532 node: centos7-java-builder-2c-4g
535 - lf-infra-properties:
536 build-days-to-keep: 7
539 - lf-infra-parameters:
540 project: releng/builder # Hardcode as this job needs to pull releng/builder
542 branch: master # Hardcode as releng/builder only has master
545 default: '{csit-blacklist}'
546 description: Space separated list of jobs strings to blacklist.
549 - lf-infra-gerrit-scm:
550 jenkins-ssh-credential: '{jenkins-ssh-credential}'
552 refspec: '$GERRIT_REFSPEC'
553 branch: '$GERRIT_BRANCH'
554 submodule-recursive: '{submodule-recursive}'
555 choosing-strategy: default
560 jenkins-ssh-credential: '{jenkins-ssh-credential}'
564 jobs: builder-jjb-merge
567 - shell: !include-raw-escape: update-csit-tests.sh
570 git add jjb/integration/*.lst
571 - opendaylight-infra-push-gerrit-patch:
572 project: "releng/builder"
573 gerrit-topic: "auto-update-csit-jobs-{stream}"
574 gerrit-commit-message: "Auto Update CSIT Jobs to run for {stream}"