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-oxygen}'
23 csit-sanity-list: '{csit-sanity-list-oxygen}'
24 csit-weekly-list: '{csit-weekly-list-oxygen}'
25 schedule-weekly: 'H 23 * * 6'
26 csit-high-frequency-list: ''
27 schedule-high-frequency: ''
30 branch: 'stable/nitrogen'
32 csit-list: '{csit-list-nitrogen}'
33 csit-sanity-list: '{csit-sanity-list-nitrogen}'
34 csit-weekly-list: '{csit-weekly-list-nitrogen}'
35 schedule-weekly: 'H 23 * * 6'
36 csit-high-frequency-list: ''
37 schedule-high-frequency: ''
40 branch: 'stable/carbon'
44 csit-list: '{csit-list-carbon}'
45 csit-sanity-list: '{csit-sanity-list-carbon}'
46 csit-weekly-list: '{csit-weekly-list-carbon}'
47 schedule-weekly: 'H 23 * * 6'
48 csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
49 schedule-high-frequency: 'H H/4 * * *'
52 branch: 'stable/boron'
56 csit-list: '{csit-list-boron}'
57 csit-sanity-list: '{csit-sanity-list-boron}'
58 csit-weekly-list: '{csit-weekly-list-boron}'
59 schedule-weekly: 'H 23 * * 6'
60 csit-high-frequency-list: ''
61 schedule-high-frequency: ''
64 tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
66 # Template: integration-csit-verify-1node-library
67 # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
68 # Operation: This job template performs a base openflow test when there is a change in the libraries folder
71 name: 'integration-csit-verify-1node-library'
73 project-type: freestyle
74 node: centos7-robot-2c-2g
76 # {stream} is already defined as a composite object, it cannot be overriden.
78 # This is not a template, so define branch, scope and jre for distribution to test with.
84 - opendaylight-infra-properties:
85 build-days-to-keep: '{build-days-to-keep}'
88 - opendaylight-infra-parameters:
89 os-cloud: '{os-cloud}'
91 branch: '{test-branch}'
92 refspec: 'refs/heads/{test-branch}'
93 artifacts: '{archive-artifacts}'
94 - integration-distribution-branch:
95 branch: '{verify-branch}'
96 - integration-distribution-stream:
97 stream: '{verify-stream}'
98 - integration-bundle-url:
99 bundle-url: '{bundle-url}'
100 - integration-controller-scope:
101 controller-scope: '{scope}'
102 - integration-controller-features:
103 controller-features: >
104 odl-clustering-test-app,
105 odl-openflowplugin-flow-services-ui,
106 odl-openflowplugin-app-table-miss-enforcer,
109 odl-netconf-connector-all
110 # when upgrading to carbon you should replace odl-netconf-connector-all with odl-netconf-topology
111 # and change USE_NETCONF_CONNECTOR to False in test-options
112 - integration-test-options:
113 test-options: '-v TIMEOUT_BUG_4220:10s -v USE_NETCONF_CONNECTOR:True'
114 - integration-stream-test-plan:
115 stream-test-plan: 'test-libraries-{verify-stream}.txt'
116 - integration-test-plan:
117 test-plan: 'test-libraries.txt'
118 - integration-patch-refspec:
119 branch: '$GERRIT_REFSPEC'
120 - integration-jdk-version:
122 - distribution-karaf-version:
123 karaf-version: '{verify-karaf-version}'
126 - integration-gerrit-scm:
128 refspec: '$PATCHREFSPEC'
129 branch: '{test-branch}'
132 - opendaylight-infra-wrappers:
133 build-timeout: '{build-timeout}'
136 - integration-trigger-patch-submitted:
137 server: '{server-name}'
139 branch: '{test-branch}'
140 files: 'csit/libraries/*'
143 - integration-infra-stack:
144 stack-template: '{stack-template}'
146 vm_0_flavor: '{odl_system_flavor}'
147 vm_0_image: '{odl_system_image}'
148 vm_1_count: '{tools_system_count}'
149 vm_1_flavor: '{tools_system_flavor}'
150 vm_1_image: '{tools_system_image}'
151 - integration-install-robotframework
153 properties-file: 'env.properties'
154 - integration-get-slave-addresses
156 properties-file: 'slave_addresses.txt'
157 - integration-detect-variables
158 - integration-deploy-controller-run-test
159 - integration-cleanup-tmp
165 - email-notification:
166 email-recipients: '{email-recipients}'
167 email-prefix: '[integration]'
168 - integration-csit-archive-build
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-bundle-url:
187 bundle-url: '{bundle-url}'
188 - distribution-karaf-version:
189 karaf-version: '{karaf-version}'
193 - project: '{csit-list}'
195 predefined-parameters: |
196 BUNDLE_URL=$BUNDLE_URL
197 KARAF_VERSION=$KARAF_VERSION
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}'
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]'