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'
34 csit-list: '{csit-list-carbon}'
35 csit-sanity-list: '{csit-sanity-list-carbon}'
36 csit-weekly-list: '{csit-weekly-list-carbon}'
37 schedule-weekly: 'H 12 * * 0'
38 csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
39 schedule-high-frequency: 'H H/4 * * *'
42 branch: 'stable/boron'
46 csit-list: '{csit-list-boron}'
47 csit-sanity-list: '{csit-sanity-list-boron}'
48 csit-weekly-list: '{csit-weekly-list-boron}'
49 schedule-weekly: 'H 12 * * 0'
50 csit-high-frequency-list: ''
51 schedule-high-frequency: ''
54 branch: 'stable/beryllium'
58 csit-list: '{csit-list-beryllium}'
61 schedule-weekly: 'H 12 * * 0'
62 csit-high-frequency-list: ''
63 schedule-high-frequency: ''
66 tools_system_image: Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300
68 # Template: integration-csit-verify-1node-library
69 # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
70 # Operation: This job template performs a base openflow test when there is a change in the libraries folder
73 name: 'integration-csit-verify-1node-library'
75 project-type: freestyle
76 node: centos7-robot-2c-2g
78 # {stream} is already defined as a composite object, it cannot be overriden.
80 # This is not a template, so define branch, scope and jre for distribution to test with.
86 - opendaylight-infra-properties:
87 build-days-to-keep: '{build-days-to-keep}'
90 - opendaylight-infra-parameters:
91 os-cloud: '{os-cloud}'
93 branch: '{test-branch}'
94 refspec: 'refs/heads/{test-branch}'
95 artifacts: '{archive-artifacts}'
96 - integration-distribution-branch:
97 branch: '{verify-branch}'
98 - integration-distribution-stream:
99 stream: '{verify-stream}'
100 - integration-bundle-url:
101 bundle-url: '{bundle-url}'
102 - integration-controller-scope:
103 controller-scope: '{scope}'
104 - integration-controller-features:
105 controller-features: >
106 odl-clustering-test-app,
107 odl-openflowplugin-flow-services-ui,
108 odl-openflowplugin-app-table-miss-enforcer,
111 odl-netconf-connector-all
112 # when upgrading to carbon you should replace odl-netconf-connector-all with odl-netconf-topology
113 # and change USE_NETCONF_CONNECTOR to False in test-options
114 - integration-test-options:
115 test-options: '-v TIMEOUT_BUG_4220:10s -v USE_NETCONF_CONNECTOR:True'
116 - integration-stream-test-plan:
117 stream-test-plan: 'test-libraries-{verify-stream}.txt'
118 - integration-test-plan:
119 test-plan: 'test-libraries.txt'
120 - integration-patch-refspec:
121 branch: '$GERRIT_REFSPEC'
122 - integration-jdk-version:
124 - distribution-karaf-version:
125 karaf-version: '{verify-karaf-version}'
128 - integration-gerrit-scm:
130 refspec: '$PATCHREFSPEC'
131 branch: '{test-branch}'
134 - opendaylight-infra-wrappers:
135 build-timeout: '{build-timeout}'
138 - integration-trigger-patch-submitted:
139 server: '{server-name}'
141 branch: '{test-branch}'
142 files: 'csit/libraries/*'
145 - integration-infra-stack:
146 stack-template: '{stack-template}'
148 vm_0_flavor: '{odl_system_flavor}'
149 vm_0_image: '{odl_system_image}'
150 vm_1_count: '{tools_system_count}'
151 vm_1_flavor: '{tools_system_flavor}'
152 vm_1_image: '{tools_system_image}'
153 - integration-install-robotframework
155 properties-file: 'env.properties'
156 - integration-get-slave-addresses
158 properties-file: 'slave_addresses.txt'
159 - integration-detect-variables
160 - integration-deploy-controller-run-test
161 - integration-cleanup-tmp
167 - email-notification:
168 email-recipients: '{email-recipients}'
169 email-prefix: '[integration]'
170 - integration-csit-archive-build
171 - opendaylight-infra-shiplogs:
172 maven-version: 'mvn33'
174 # Template: integration-distribution-test-{stream}
175 # Goal: Verify a distribution through all system test available
176 # Operation: This template takes a distribution and passes all available system test
179 name: 'integration-distribution-test-{stream}'
181 project-type: freestyle
182 node: centos7-robot-2c-2g
185 - opendaylight-infra-properties:
186 build-days-to-keep: '{build-days-to-keep}'
189 - integration-bundle-url:
190 bundle-url: '{bundle-url}'
194 - project: '{csit-list}'
196 predefined-parameters:
197 BUNDLE_URL=$BUNDLE_URL
200 - email-notification:
201 email-recipients: '{email-recipients}'
202 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}'
224 - project: '{csit-sanity-list}'
226 predefined-parameters:
227 BUNDLE_URL=$BUNDLE_URL
230 - email-notification:
231 email-recipients: '{email-recipients}'
232 email-prefix: '[integration]'
234 # Template: integration-patch-test-{stream}
235 # Goal: Build a patch and run all available system test on a distribution containing the change
236 # Operation: This job template builds a patch, creates a distribution containing the patch, and
237 # triggers the distribution test when test-integration is used in gerrit comments
240 name: 'integration-patch-test-{stream}'
242 project-type: freestyle
243 node: centos7-java-builder-2c-8g
246 - opendaylight-infra-properties:
247 build-days-to-keep: '{build-days-to-keep}'
250 - opendaylight-infra-parameters:
251 os-cloud: '{os-cloud}'
252 project: '$GERRIT_PROJECT'
254 refspec: '$GERRIT_REFSPEC'
255 artifacts: '{archive-artifacts} **/dependency_tree.txt'
256 - integration-distribution-branch:
258 - distribution-karaf-version:
259 karaf-version: '{karaf-version}'
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 - integration-upload-distribution:
328 dist-pom: distribution/pom.xml
330 - project: '{csit-list}'
332 predefined-parameters: |
333 BUNDLE_URL=$BUNDLE_URL
334 KARAF_VERSION=$KARAF_VERSION
337 - opendaylight-infra-shiplogs:
338 maven-version: 'mvn33'
339 - email-notification:
340 email-recipients: '{email-recipients}'
341 email-prefix: '[$GERRIT_PROJECT]'
345 name: 'integration-multipatch-test-{stream}'
346 # Goal: Build one or more patches and run all available system test on a distribution containing the change.
347 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
348 # containing these patches, and triggers the distribution test job which includes most (if not all) available
350 # TODO: Move the following to appropriate readthedocs document.
351 # Recommended Sandbox usage:
352 # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
353 # 1. Copy the csit job name to clipboard.
354 # 2. Navigate to Sandbox page of this job.
355 # 3. Click "Configure".
356 # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
357 # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
358 # 6. Click "Save" button.
359 # 7. Click "Build with Parameters".
360 # yamllint disable-line rule:line-length
361 # 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
362 # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
363 # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
364 # 11. Click Parameters and copy the long value of BUNDLE_URL field to clipboard.
365 # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLE_URL value
366 # so you do not have to wait for multipatch build. Repeat step 12.
367 # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
369 project-type: freestyle
370 node: centos7-java-builder-8c-8g
374 - opendaylight-infra-properties:
375 build-days-to-keep: '{build-days-to-keep}'
378 - patches-to-build-parameter:
379 patches_to_build: '$PATCHES_TO_BUILD'
380 - run-test-parameter:
382 - integration-distribution-branch:
384 - distribution-karaf-version:
385 karaf-version: '{karaf-version}'
386 - opendaylight-infra-parameters:
387 os-cloud: '{os-cloud}'
388 project: 'integration/distribution'
390 refspec: 'refs/heads/{branch}'
391 artifacts: '{archive-artifacts} **/dependency_tree.txt'
396 - opendaylight-infra-wrappers:
397 build-timeout: '1200'
400 - wipe-org-opendaylight-repo
401 - integration-multipatch-builder
402 - provide-maven-settings:
403 global-settings-file: 'odl-global-settings'
404 settings-file: 'yangtools-settings'
407 pom: patch_tester/pom.xml
408 # TODO: Make Maven options configurable. Currently tests are not skipped, everything else is.
410 clean install dependency:tree -DoutputFile=dependency_tree.txt
413 {opendaylight-infra-mvn-opts}
415 - '-Xmx7168m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
416 settings: integration-settings
418 global-settings: odl-global-settings
419 global-settings-type: cfp
420 - integration-upload-distribution:
421 dist-pom: patch_tester/distribution/pom.xml
423 condition-kind: boolean-expression
424 condition-expression: $RUNTEST
427 - project: '{csit-list}'
429 predefined-parameters: |
430 BUNDLE_URL=$BUNDLE_URL
431 KARAF_VERSION=$KARAF_VERSION
434 - opendaylight-infra-shiplogs:
435 maven-version: 'mvn33'
436 - email-notification:
437 email-recipients: '{email-recipients}'
438 email-prefix: '[int/dist]'
441 name: 'integration-distribution-weekly-test-trigger-{stream}'
443 project-type: freestyle
444 node: centos7-robot-2c-2g
447 - opendaylight-infra-properties:
448 build-days-to-keep: '{build-days-to-keep}'
451 - integration-bundle-url:
452 bundle-url: '{bundle-url}'
455 - timed: '{schedule-weekly}'
459 - project: '{csit-weekly-list}'
461 predefined-parameters:
462 BUNDLE_URL=$BUNDLE_URL
465 - email-notification:
466 email-recipients: '{email-recipients}'
467 email-prefix: '[integration]'
470 name: 'integration-distribution-high-frequency-test-trigger-{stream}'
472 project-type: freestyle
473 node: centos7-robot-2c-2g
476 - opendaylight-infra-properties:
477 build-days-to-keep: '{build-days-to-keep}'
480 - integration-bundle-url:
481 bundle-url: '{bundle-url}'
482 - integration-jdk-version:
486 - timed: '{schedule-high-frequency}'
490 - project: '{csit-high-frequency-list}'
492 predefined-parameters:
493 BUNDLE_URL=$BUNDLE_URL
496 - email-notification:
497 email-recipients: '{email-recipients}'
498 email-prefix: '[integration]'