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
23 csit-list: '{csit-list-nitrogen}'
24 csit-sanity-list: '{csit-sanity-list-nitrogen}'
25 csit-weekly-list: '{csit-weekly-list-nitrogen}'
26 schedule-weekly: 'H 12 * * 0'
27 csit-high-frequency-list: ''
28 schedule-high-frequency: ''
31 branch: 'stable/carbon'
35 csit-list: '{csit-list-carbon}'
36 csit-sanity-list: '{csit-sanity-list-carbon}'
37 csit-weekly-list: '{csit-weekly-list-carbon}'
38 schedule-weekly: 'H 12 * * 0'
39 csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
40 schedule-high-frequency: 'H H/4 * * *'
43 branch: 'stable/boron'
47 csit-list: '{csit-list-boron}'
48 csit-sanity-list: '{csit-sanity-list-boron}'
49 csit-weekly-list: '{csit-weekly-list-boron}'
50 schedule-weekly: 'H 12 * * 0'
51 csit-high-frequency-list: ''
52 schedule-high-frequency: ''
55 tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170609-0221
57 # Template: integration-csit-verify-1node-library
58 # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
59 # Operation: This job template performs a base openflow test when there is a change in the libraries folder
62 name: 'integration-csit-verify-1node-library'
64 project-type: freestyle
65 node: centos7-robot-2c-2g
67 # {stream} is already defined as a composite object, it cannot be overriden.
69 # This is not a template, so define branch, scope and jre for distribution to test with.
75 - opendaylight-infra-properties:
76 build-days-to-keep: '{build-days-to-keep}'
79 - opendaylight-infra-parameters:
80 os-cloud: '{os-cloud}'
82 branch: '{test-branch}'
83 refspec: 'refs/heads/{test-branch}'
84 artifacts: '{archive-artifacts}'
85 - integration-distribution-branch:
86 branch: '{verify-branch}'
87 - integration-distribution-stream:
88 stream: '{verify-stream}'
89 - integration-bundle-url:
90 bundle-url: '{bundle-url}'
91 - integration-controller-scope:
92 controller-scope: '{scope}'
93 - integration-controller-features:
94 controller-features: >
95 odl-clustering-test-app,
96 odl-openflowplugin-flow-services-ui,
97 odl-openflowplugin-app-table-miss-enforcer,
100 odl-netconf-connector-all
101 # when upgrading to carbon you should replace odl-netconf-connector-all with odl-netconf-topology
102 # and change USE_NETCONF_CONNECTOR to False in test-options
103 - integration-test-options:
104 test-options: '-v TIMEOUT_BUG_4220:10s -v USE_NETCONF_CONNECTOR:True'
105 - integration-stream-test-plan:
106 stream-test-plan: 'test-libraries-{verify-stream}.txt'
107 - integration-test-plan:
108 test-plan: 'test-libraries.txt'
109 - integration-patch-refspec:
110 branch: '$GERRIT_REFSPEC'
111 - integration-jdk-version:
113 - distribution-karaf-version:
114 karaf-version: '{verify-karaf-version}'
117 - integration-gerrit-scm:
119 refspec: '$PATCHREFSPEC'
120 branch: '{test-branch}'
123 - opendaylight-infra-wrappers:
124 build-timeout: '{build-timeout}'
127 - integration-trigger-patch-submitted:
128 server: '{server-name}'
130 branch: '{test-branch}'
131 files: 'csit/libraries/*'
134 - integration-infra-stack:
135 stack-template: '{stack-template}'
137 vm_0_flavor: '{odl_system_flavor}'
138 vm_0_image: '{odl_system_image}'
139 vm_1_count: '{tools_system_count}'
140 vm_1_flavor: '{tools_system_flavor}'
141 vm_1_image: '{tools_system_image}'
142 - integration-install-robotframework
144 properties-file: 'env.properties'
145 - integration-get-slave-addresses
147 properties-file: 'slave_addresses.txt'
148 - integration-detect-variables
149 - integration-deploy-controller-run-test
150 - integration-cleanup-tmp
156 - email-notification:
157 email-recipients: '{email-recipients}'
158 email-prefix: '[integration]'
159 - integration-csit-archive-build
162 # Template: integration-distribution-test-{stream}
163 # Goal: Verify a distribution through all system test available
164 # Operation: This template takes a distribution and passes all available system test
167 name: 'integration-distribution-test-{stream}'
169 project-type: freestyle
170 node: centos7-robot-2c-2g
173 - opendaylight-infra-properties:
174 build-days-to-keep: '{build-days-to-keep}'
177 - integration-bundle-url:
178 bundle-url: '{bundle-url}'
179 - distribution-karaf-version:
180 karaf-version: '{karaf-version}'
184 - project: '{csit-list}'
186 predefined-parameters: |
187 BUNDLE_URL=$BUNDLE_URL
188 KARAF_VERSION=$KARAF_VERSION
191 - email-notification:
192 email-recipients: '{email-recipients}'
193 email-prefix: '[integration]'
195 # Template: integration-sanity-test-{stream}
196 # Goal: Verify a distribution through sanity test
197 # Operation: This template takes a distribution and passes sanity test
200 name: 'integration-sanity-test-{stream}'
202 project-type: freestyle
203 node: centos7-robot-2c-2g
206 - opendaylight-infra-properties:
207 build-days-to-keep: '{build-days-to-keep}'
210 - integration-bundle-url:
211 bundle-url: '{bundle-url}'
212 - distribution-karaf-version:
213 karaf-version: '{karaf-version}'
217 - project: '{csit-sanity-list}'
219 predefined-parameters: |
220 BUNDLE_URL=$BUNDLE_URL
221 KARAF_VERSION=$KARAF_VERSION
224 - email-notification:
225 email-recipients: '{email-recipients}'
226 email-prefix: '[integration]'
228 # Template: integration-patch-test-{stream}
229 # Goal: Build a patch and run all available system test on a distribution containing the change
230 # Operation: This job template builds a patch, creates a distribution containing the patch, and
231 # triggers the distribution test when test-integration is used in gerrit comments
234 name: 'integration-patch-test-{stream}'
236 project-type: freestyle
237 node: centos7-java-builder-2c-8g
240 - opendaylight-infra-properties:
241 build-days-to-keep: '{build-days-to-keep}'
244 - opendaylight-infra-parameters:
245 os-cloud: '{os-cloud}'
246 project: '$GERRIT_PROJECT'
248 refspec: '$GERRIT_REFSPEC'
249 artifacts: '{archive-artifacts} **/dependency_tree.txt'
250 - integration-distribution-branch:
252 - distribution-karaf-version:
253 karaf-version: '{karaf-version}'
254 - integration-distribution-git-url:
260 - integration-gerrit-scm:
261 basedir: '$GERRIT_PROJECT'
262 refspec: '$GERRIT_REFSPEC'
264 - integration-distribution-scm:
268 - opendaylight-infra-wrappers:
273 server-name: '{server-name}'
275 - comment-added-contains-event:
276 comment-contains-value: 'test-integration'
278 - project-compare-type: 'ANT'
279 project-pattern: '**'
281 - branch-compare-type: 'ANT'
282 branch-pattern: '**/{branch}'
290 - integration-rebase-gerrit-patch
291 - wipe-org-opendaylight-repo
292 - provide-maven-settings:
293 global-settings-file: 'odl-global-settings'
294 settings-file: 'integration-settings'
296 maven-version: 'mvn33'
297 pom: '$GERRIT_PROJECT/pom.xml'
299 clean install dependency:tree -DoutputFile=dependency_tree.txt
302 {opendaylight-infra-mvn-opts}
304 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
305 settings: integration-settings
307 global-settings: odl-global-settings
308 global-settings-type: cfp
311 pom: distribution/pom.xml
313 clean install dependency:tree -DoutputFile=dependency_tree.txt
314 {opendaylight-infra-mvn-opts}
316 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
317 settings: integration-settings
319 global-settings: odl-global-settings
320 global-settings-type: cfp
321 - integration-upload-distribution:
322 dist-pom: distribution/pom.xml
324 - project: '{csit-list}'
326 predefined-parameters: |
327 BUNDLE_URL=$BUNDLE_URL
328 KARAF_VERSION=$KARAF_VERSION
332 - email-notification:
333 email-recipients: '{email-recipients}'
334 email-prefix: '[$GERRIT_PROJECT]'
338 name: 'integration-multipatch-test-{stream}'
339 # Goal: Build one or more patches and run all available system test on a distribution containing the change.
340 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
341 # containing these patches, and triggers the distribution test job which includes most (if not all) available
343 # TODO: Move the following to appropriate readthedocs document.
344 # Recommended Sandbox usage:
345 # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
346 # 1. Copy the csit job name to clipboard.
347 # 2. Navigate to Sandbox page of this job.
348 # 3. Click "Configure".
349 # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
350 # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
351 # 6. Click "Save" button.
352 # 7. Click "Build with Parameters".
353 # yamllint disable-line rule:line-length
354 # 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
355 # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
356 # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
357 # 11. Click Parameters and copy the long value of BUNDLE_URL field to clipboard.
358 # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLE_URL value
359 # so you do not have to wait for multipatch build. Repeat step 12.
360 # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
362 project-type: freestyle
363 node: centos7-java-builder-8c-8g
367 - opendaylight-infra-properties:
368 build-days-to-keep: '{build-days-to-keep}'
371 - patches-to-build-parameter:
372 patches_to_build: '$PATCHES_TO_BUILD'
373 - run-test-parameter:
375 - integration-distribution-branch:
377 - distribution-karaf-version:
378 karaf-version: '{karaf-version}'
379 - opendaylight-infra-parameters:
380 os-cloud: '{os-cloud}'
381 project: 'integration/distribution'
383 refspec: 'refs/heads/{branch}'
384 artifacts: '{archive-artifacts} **/dependency_tree.txt'
389 - opendaylight-infra-wrappers:
390 build-timeout: '1200'
393 - wipe-org-opendaylight-repo
394 - integration-multipatch-builder
395 - provide-maven-settings:
396 global-settings-file: 'odl-global-settings'
397 settings-file: 'yangtools-settings'
400 pom: patch_tester/pom.xml
401 # TODO: Make Maven options configurable. Currently tests are not skipped, everything else is.
403 clean install dependency:tree -DoutputFile=dependency_tree.txt
406 {opendaylight-infra-mvn-opts}
408 - '-Xmx7168m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
409 settings: integration-settings
411 global-settings: odl-global-settings
412 global-settings-type: cfp
413 - integration-upload-distribution:
414 dist-pom: patch_tester/distribution/pom.xml
416 condition-kind: boolean-expression
417 condition-expression: $RUNTEST
420 - project: '{csit-list}'
422 predefined-parameters: |
423 BUNDLE_URL=$BUNDLE_URL
424 KARAF_VERSION=$KARAF_VERSION
428 - email-notification:
429 email-recipients: '{email-recipients}'
430 email-prefix: '[int/dist]'
433 name: 'integration-distribution-weekly-test-trigger-{stream}'
435 project-type: freestyle
436 node: centos7-robot-2c-2g
439 - opendaylight-infra-properties:
440 build-days-to-keep: '{build-days-to-keep}'
443 - integration-bundle-url:
444 bundle-url: '{bundle-url}'
445 - distribution-karaf-version:
446 karaf-version: '{karaf-version}'
449 - timed: '{schedule-weekly}'
453 - project: '{csit-weekly-list}'
455 predefined-parameters: |
456 BUNDLE_URL=$BUNDLE_URL
457 KARAF_VERSION=$KARAF_VERSION
460 - email-notification:
461 email-recipients: '{email-recipients}'
462 email-prefix: '[integration]'
465 name: 'integration-distribution-high-frequency-test-trigger-{stream}'
467 project-type: freestyle
468 node: centos7-robot-2c-2g
471 - opendaylight-infra-properties:
472 build-days-to-keep: '{build-days-to-keep}'
475 - integration-bundle-url:
476 bundle-url: '{bundle-url}'
477 - distribution-karaf-version:
478 karaf-version: '{karaf-version}'
481 - timed: '{schedule-high-frequency}'
485 - project: '{csit-high-frequency-list}'
487 predefined-parameters: |
488 BUNDLE_URL=$BUNDLE_URL
489 KARAF_VERSION=$KARAF_VERSION
492 - email-notification:
493 email-recipients: '{email-recipients}'
494 email-prefix: '[integration]'