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}'
17 # CSIT Lists in releng-defaults.yaml
22 csit-list: '{csit-list-nitrogen}'
23 csit-sanity-list: '{csit-sanity-list-nitrogen}'
24 csit-weekly-list: '{csit-weekly-list-nitrogen}'
25 schedule-weekly: 'H 12 * * 0'
26 csit-high-frequency-list: ''
27 schedule-high-frequency: ''
30 branch: 'stable/carbon'
33 csit-list: '{csit-list-carbon}'
34 csit-sanity-list: '{csit-sanity-list-carbon}'
35 csit-weekly-list: '{csit-weekly-list-carbon}'
36 schedule-weekly: 'H 12 * * 0'
37 csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
38 schedule-high-frequency: 'H H/4 * * *'
41 branch: 'stable/boron'
44 csit-list: '{csit-list-boron}'
45 csit-sanity-list: '{csit-sanity-list-boron}'
46 csit-weekly-list: '{csit-weekly-list-boron}'
47 schedule-weekly: 'H 12 * * 0'
48 csit-high-frequency-list: ''
49 schedule-high-frequency: ''
52 branch: 'stable/beryllium'
55 csit-list: '{csit-list-beryllium}'
58 schedule-weekly: 'H 12 * * 0'
59 csit-high-frequency-list: ''
60 schedule-high-frequency: ''
63 tools_system_image: Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300
65 # Template: integration-csit-verify-1node-library
66 # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
67 # Operation: This job template performs a base openflow test when there is a change in the libraries folder
70 name: 'integration-csit-verify-1node-library'
72 project-type: freestyle
73 node: centos7-robot-2c-2g
75 # {stream} is already defined as a composite object, it cannot be overriden.
77 # This is not a template, so define branch, scope and jre for distribution to test with.
83 - opendaylight-infra-properties:
84 build-days-to-keep: '{build-days-to-keep}'
87 - opendaylight-infra-parameters:
88 os-cloud: '{os-cloud}'
90 branch: '{test-branch}'
91 refspec: 'refs/heads/{test-branch}'
92 artifacts: '{archive-artifacts}'
93 - integration-distribution-branch:
95 - integration-distribution-stream:
96 stream: '{dist-stream}'
97 - integration-bundleurl:
98 bundleurl: '{bundleurl}'
99 - integration-controller-scope:
100 controller-scope: '{scope}'
101 - integration-controller-features:
102 controller-features: >
103 odl-clustering-test-app,
104 odl-openflowplugin-flow-services-ui,
105 odl-openflowplugin-app-table-miss-enforcer,
108 odl-netconf-connector-all
109 # when upgrading to carbon you should replace odl-netconf-connector-all with odl-netconf-topology
110 # and change USE_NETCONF_CONNECTOR to False in test-options
111 - integration-test-options:
112 test-options: '-v TIMEOUT_BUG_4220:10s -v USE_NETCONF_CONNECTOR:True'
113 - integration-stream-test-plan:
114 stream-test-plan: 'test-libraries-{dist-stream}.txt'
115 - integration-test-plan:
116 test-plan: 'test-libraries.txt'
117 - integration-patch-refspec:
118 branch: '$GERRIT_REFSPEC'
119 - integration-jdk-version:
123 - integration-gerrit-scm:
125 refspec: '$PATCHREFSPEC'
126 branch: '{test-branch}'
129 - opendaylight-infra-wrappers:
130 build-timeout: '{build-timeout}'
133 - integration-trigger-patch-submitted:
134 server: '{server-name}'
136 branch: '{test-branch}'
137 files: 'csit/libraries/*'
140 - integration-infra-stack:
141 stack-template: '{stack-template}'
143 vm_0_flavor: '{odl_system_flavor}'
144 vm_0_image: '{odl_system_image}'
145 vm_1_count: '{tools_system_count}'
146 vm_1_flavor: '{tools_system_flavor}'
147 vm_1_image: '{tools_system_image}'
148 - integration-install-robotframework
150 properties-file: 'env.properties'
151 - integration-get-slave-addresses
153 properties-file: 'slave_addresses.txt'
154 - integration-get-bundle-vars
156 properties-file: 'bundle_vars.txt'
157 - integration-deploy-controller-run-test
158 - integration-cleanup-tmp
164 - email-notification:
165 email-recipients: '{email-recipients}'
166 email-prefix: '[integration]'
167 - integration-csit-archive-build
168 - opendaylight-infra-shiplogs:
169 maven-version: 'mvn33'
171 # Template: integration-distribution-test-{stream}
172 # Goal: Verify a distribution through all system test available
173 # Operation: This template takes a distribution and passes all available system test
176 name: 'integration-distribution-test-{stream}'
178 project-type: freestyle
179 node: centos7-robot-2c-2g
182 - opendaylight-infra-properties:
183 build-days-to-keep: '{build-days-to-keep}'
186 - integration-bundleurl:
187 bundleurl: '{bundleurl}'
188 - integration-jdk-version:
193 - project: '{csit-list}'
195 predefined-parameters:
199 - email-notification:
200 email-recipients: '{email-recipients}'
201 email-prefix: '[integration]'
203 # Template: integration-sanity-test-{stream}
204 # Goal: Verify a distribution through sanity test
205 # Operation: This template takes a distribution and passes sanity test
208 name: 'integration-sanity-test-{stream}'
210 project-type: freestyle
211 node: centos7-robot-2c-2g
214 - opendaylight-infra-properties:
215 build-days-to-keep: '{build-days-to-keep}'
218 - integration-bundleurl:
219 bundleurl: '{bundleurl}'
220 - integration-jdk-version:
225 - project: '{csit-sanity-list}'
227 predefined-parameters:
231 - email-notification:
232 email-recipients: '{email-recipients}'
233 email-prefix: '[integration]'
235 # Template: integration-patch-test-{stream}
236 # Goal: Build a patch and run all available system test on a distribution containing the change
237 # Operation: This job template builds a patch, creates a distribution containing the patch, and
238 # triggers the distribution test when test-integration is used in gerrit comments
241 name: 'integration-patch-test-{stream}'
243 project-type: freestyle
244 node: centos7-java-builder-2c-8g
248 - opendaylight-infra-properties:
249 build-days-to-keep: '{build-days-to-keep}'
252 - opendaylight-infra-parameters:
253 os-cloud: '{os-cloud}'
254 project: '$GERRIT_PROJECT'
256 refspec: '$GERRIT_REFSPEC'
257 artifacts: '{archive-artifacts} **/dependency_tree.txt'
258 - integration-distribution-branch:
260 - integration-distribution-git-url:
266 - integration-gerrit-scm:
267 basedir: '$GERRIT_PROJECT'
268 refspec: '$GERRIT_REFSPEC'
270 - integration-distribution-scm:
274 - opendaylight-infra-wrappers:
279 server-name: '{server-name}'
281 - comment-added-contains-event:
282 comment-contains-value: 'test-integration'
284 - project-compare-type: 'ANT'
285 project-pattern: '**'
287 - branch-compare-type: 'ANT'
288 branch-pattern: '**/{branch}'
296 - integration-rebase-gerrit-patch
297 - wipe-org-opendaylight-repo
298 - provide-maven-settings:
299 global-settings-file: 'odl-global-settings'
300 settings-file: 'integration-settings'
302 maven-version: 'mvn33'
303 pom: '$GERRIT_PROJECT/pom.xml'
305 clean install dependency:tree -DoutputFile=dependency_tree.txt
308 {opendaylight-infra-mvn-opts}
310 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
311 settings: integration-settings
313 global-settings: odl-global-settings
314 global-settings-type: cfp
317 pom: distribution/pom.xml
319 clean install dependency:tree -DoutputFile=dependency_tree.txt
320 {opendaylight-infra-mvn-opts}
322 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
323 settings: integration-settings
325 global-settings: odl-global-settings
326 global-settings-type: cfp
327 - distribution-check-deploy-distribution:
328 dist-pom: distribution/pom.xml
330 - project: '{csit-list}'
332 predefined-parameters:
333 BUNDLEURL=$BUNDLE_URL
336 - opendaylight-infra-shiplogs:
337 maven-version: 'mvn33'
338 - email-notification:
339 email-recipients: '{email-recipients}'
340 email-prefix: '[$GERRIT_PROJECT]'
344 name: 'integration-multipatch-test-{stream}'
345 # Goal: Build one or more patches and run all available system test on a distribution containing the change.
346 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
347 # containing these patches, and triggers the distribution test job which includes most (if not all) available
349 # TODO: Move the following to appropriate readthedocs document.
350 # Recommended Sandbox usage:
351 # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
352 # 1. Copy the csit job name to clipboard.
353 # 2. Navigate to Sandbox page of this job.
354 # 3. Click "Configure".
355 # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
356 # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
357 # 6. Click "Save" button.
358 # 7. Click "Build with Parameters".
359 # yamllint disable-line rule:line-length
360 # 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
361 # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
362 # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
363 # 11. Click Parameters and copy the long value of BUNDLEURL field to clipboard.
364 # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLEURL value
365 # so you do not have to wait for multipatch build. Repeat step 12.
366 # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
368 project-type: freestyle
369 node: centos7-java-builder-8c-8g
373 - opendaylight-infra-properties:
374 build-days-to-keep: '{build-days-to-keep}'
377 - patches-to-build-parameter:
378 patches_to_build: '$PATCHES_TO_BUILD'
379 - run-test-parameter:
381 - integration-distribution-branch:
383 - opendaylight-infra-parameters:
384 os-cloud: '{os-cloud}'
385 project: 'integration/distribution'
387 refspec: 'refs/heads/{branch}'
388 artifacts: '{archive-artifacts} **/dependency_tree.txt'
393 - opendaylight-infra-wrappers:
394 build-timeout: '1200'
397 - wipe-org-opendaylight-repo
398 - integration-multipatch-builder
399 - provide-maven-settings:
400 global-settings-file: 'odl-global-settings'
401 settings-file: 'yangtools-settings'
404 pom: patch_tester/pom.xml
405 # TODO: Make Maven options configurable. Currently tests are not skipped, everything else is.
407 clean install dependency:tree -DoutputFile=dependency_tree.txt
410 {opendaylight-infra-mvn-opts}
412 - '-Xmx7168m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
413 settings: integration-settings
415 global-settings: odl-global-settings
416 global-settings-type: cfp
417 - distribution-check-deploy-distribution:
418 dist-pom: patch_tester/distribution/pom.xml
420 condition-kind: boolean-expression
421 condition-expression: $RUNTEST
424 - project: '{csit-list}'
426 predefined-parameters:
427 BUNDLEURL=$BUNDLE_URL
430 - opendaylight-infra-shiplogs:
431 maven-version: 'mvn33'
432 - email-notification:
433 email-recipients: '{email-recipients}'
434 email-prefix: '[int/dist]'
437 name: 'integration-distribution-weekly-test-trigger-{stream}'
439 project-type: freestyle
440 node: centos7-robot-2c-2g
443 - opendaylight-infra-properties:
444 build-days-to-keep: '{build-days-to-keep}'
447 - integration-bundleurl:
448 bundleurl: '{bundleurl}'
449 - integration-jdk-version:
453 - timed: '{schedule-weekly}'
457 - project: '{csit-weekly-list}'
459 predefined-parameters:
463 - email-notification:
464 email-recipients: '{email-recipients}'
465 email-prefix: '[integration]'
468 name: 'integration-distribution-high-frequency-test-trigger-{stream}'
470 project-type: freestyle
471 node: centos7-robot-2c-2g
474 - opendaylight-infra-properties:
475 build-days-to-keep: '{build-days-to-keep}'
478 - integration-bundleurl:
479 bundleurl: '{bundleurl}'
480 - integration-jdk-version:
484 - timed: '{schedule-high-frequency}'
488 - project: '{csit-high-frequency-list}'
490 predefined-parameters:
494 - email-notification:
495 email-recipients: '{email-recipients}'
496 email-prefix: '[integration]'