4 project: integration/test
5 project-name: integration-test
8 - '{project-name}-verify-tox-master'
9 - 'integration-distribution-test-{stream}'
10 - 'integration-sanity-test-{stream}'
11 - 'integration-patch-test-{stream}'
12 - 'integration-multipatch-test-{stream}'
13 - 'integration-distribution-weekly-test-trigger-{stream}'
14 - 'integration-distribution-high-frequency-test-trigger-{stream}'
15 - 'integration-update-csit-tests-{stream}'
17 # CSIT Lists in releng-defaults.yaml
21 csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
22 csit-list: !include: csit-jobs-oxygen.lst
23 csit-sanity-list: '{csit-sanity-list-oxygen}'
24 csit-weekly-list: '{csit-weekly-list-oxygen}'
25 csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
28 branch: 'stable/nitrogen'
29 csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
30 csit-list: !include: csit-jobs-nitrogen.lst
31 csit-sanity-list: '{csit-sanity-list-nitrogen}'
32 csit-weekly-list: '{csit-weekly-list-nitrogen}'
33 csit-high-frequency-list: '{csit-high-frequency-list-nitrogen}'
36 branch: 'stable/carbon'
38 csit-blacklist: longevity gate sanity capwap centinel coe jsonrpc
39 csit-list: !include: csit-jobs-carbon.lst
40 csit-sanity-list: '{csit-sanity-list-carbon}'
41 csit-weekly-list: '{csit-weekly-list-carbon}'
42 csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
45 tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
47 # Template: integration-distribution-test-{stream}
48 # Goal: Verify a distribution through all system test available
49 # Operation: This template takes a distribution and passes all available system test
52 name: 'integration-distribution-test-{stream}'
54 project-type: freestyle
55 node: centos7-robot-2c-2g
58 - opendaylight-infra-properties:
59 build-days-to-keep: '{build-days-to-keep}'
62 - integration-bundle-url:
63 bundle-url: '{bundle-url}'
64 - distribution-karaf-version:
65 karaf-version: '{karaf-version}'
69 - project: '{csit-list}'
71 predefined-parameters: |
72 BUNDLE_URL=$BUNDLE_URL
73 KARAF_VERSION=$KARAF_VERSION
76 - opendaylight-infra-generate-csit-status-report
78 email-recipients: '{email-recipients}'
79 email-prefix: '[integration]'
82 # Template: integration-sanity-test-{stream}
83 # Goal: Verify a distribution through sanity test
84 # Operation: This template takes a distribution and passes sanity test
87 name: 'integration-sanity-test-{stream}'
89 project-type: freestyle
90 node: centos7-robot-2c-2g
93 - opendaylight-infra-properties:
94 build-days-to-keep: '{build-days-to-keep}'
97 - integration-bundle-url:
98 bundle-url: '{bundle-url}'
99 - distribution-karaf-version:
100 karaf-version: '{karaf-version}'
104 - project: '{csit-sanity-list}'
106 predefined-parameters: |
107 BUNDLE_URL=$BUNDLE_URL
108 KARAF_VERSION=$KARAF_VERSION
111 - email-notification:
112 email-recipients: '{email-recipients}'
113 email-prefix: '[integration]'
115 # Template: integration-patch-test-{stream}
116 # Goal: Build a patch and run all available system test on a distribution containing the change
117 # Operation: This job template builds a patch, creates a distribution containing the patch, and
118 # triggers the distribution test when test-integration is used in gerrit comments
121 name: 'integration-patch-test-{stream}'
123 project-type: freestyle
124 node: centos7-java-builder-2c-8g
127 - opendaylight-infra-properties:
128 build-days-to-keep: '{build-days-to-keep}'
131 - opendaylight-infra-parameters:
132 os-cloud: '{os-cloud}'
133 project: '$GERRIT_PROJECT'
135 refspec: '$GERRIT_REFSPEC'
136 artifacts: '{archive-artifacts}'
137 - integration-distribution-branch:
139 - distribution-karaf-version:
140 karaf-version: '{karaf-version}'
141 - integration-distribution-git-url:
147 - integration-gerrit-scm:
148 basedir: '$GERRIT_PROJECT'
149 refspec: '$GERRIT_REFSPEC'
151 - integration-distribution-scm:
155 - opendaylight-infra-wrappers:
160 server-name: '{server-name}'
162 - comment-added-contains-event:
163 comment-contains-value: 'test-integration'
165 - project-compare-type: 'ANT'
166 project-pattern: '**'
168 - branch-compare-type: 'ANT'
169 branch-pattern: '**/{branch}'
177 - integration-rebase-gerrit-patch
178 - wipe-org-opendaylight-repo
179 - provide-maven-settings:
180 global-settings-file: 'global-settings'
181 settings-file: 'integration-settings'
183 maven-version: 'mvn33'
184 pom: '$GERRIT_PROJECT/pom.xml'
186 clean install dependency:tree -DoutputFile=dependency_tree.txt
189 {opendaylight-infra-mvn-opts}
190 # TODO: {opendaylight-infra-parallel-mvn-opts}?
192 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
193 settings: integration-settings
195 global-settings: global-settings
196 global-settings-type: cfp
199 pom: distribution/pom.xml
201 clean install dependency:tree -DoutputFile=dependency_tree.txt
202 {opendaylight-infra-parallel-mvn-opts}
204 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
205 settings: integration-settings
207 global-settings: global-settings
208 global-settings-type: cfp
209 - integration-upload-distribution:
210 dist-pom: distribution/pom.xml
212 - project: '{csit-list}'
214 predefined-parameters: |
215 BUNDLE_URL=$BUNDLE_URL
216 KARAF_VERSION=$KARAF_VERSION
220 - email-notification:
221 email-recipients: '{email-recipients}'
222 email-prefix: '[$GERRIT_PROJECT]'
226 name: 'integration-multipatch-test-{stream}'
227 # Goal: Build one or more patches and run all available system test on a distribution containing the change.
228 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
229 # containing these patches, and triggers the distribution test job which includes most (if not all) available
231 # TODO: Move the following to appropriate readthedocs document.
232 # Recommended Sandbox usage:
233 # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
234 # 1. Copy the csit job name to clipboard.
235 # 2. Navigate to Sandbox page of this job.
236 # 3. Click "Configure".
237 # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
238 # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
239 # 6. Click "Save" button.
240 # 7. Click "Build with Parameters".
241 # yamllint disable-line rule:line-length
242 # 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
243 # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
244 # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
245 # 11. Click Parameters and copy the long value of BUNDLE_URL field to clipboard.
246 # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLE_URL value
247 # so you do not have to wait for multipatch build. Repeat step 12.
248 # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
250 project-type: freestyle
251 node: centos7-java-builder-8c-8g
255 - opendaylight-infra-properties:
256 build-days-to-keep: '{build-days-to-keep}'
259 - patches-to-build-parameter:
260 patches_to_build: '$PATCHES_TO_BUILD'
261 - run-test-parameter:
263 - integration-distribution-branch:
265 - distribution-karaf-version:
266 karaf-version: '{karaf-version}'
267 - opendaylight-infra-parameters:
268 os-cloud: '{os-cloud}'
269 project: 'integration/distribution'
271 refspec: 'refs/heads/{branch}'
272 artifacts: '{archive-artifacts}'
277 - opendaylight-infra-wrappers:
278 build-timeout: '1200'
281 - wipe-org-opendaylight-repo
282 - integration-multipatch-builder
283 - provide-maven-settings:
284 global-settings-file: 'global-settings'
285 settings-file: 'yangtools-settings'
288 pom: patch_tester/pom.xml
289 # TODO: Make Maven options configurable. Currently tests are not skipped, everything else is.
291 clean install dependency:tree -DoutputFile=dependency_tree.txt
295 {opendaylight-infra-mvn-opts}
296 # TODO: {opendaylight-infra-parallel-mvn-opts}?
298 - '-Xmx3072m -Dmaven.compile.fork=true'
299 settings: integration-settings
301 global-settings: global-settings
302 global-settings-type: cfp
303 - integration-upload-distribution:
304 dist-pom: patch_tester/distribution/pom.xml
306 condition-kind: boolean-expression
307 condition-expression: $RUNTEST
310 - project: '{csit-list}'
312 predefined-parameters: |
313 BUNDLE_URL=$BUNDLE_URL
314 KARAF_VERSION=$KARAF_VERSION
318 - email-notification:
319 email-recipients: '{email-recipients}'
320 email-prefix: '[int/dist]'
323 name: 'integration-distribution-weekly-test-trigger-{stream}'
325 project-type: freestyle
326 node: centos7-robot-2c-2g
329 - opendaylight-infra-properties:
330 build-days-to-keep: '{build-days-to-keep}'
333 - integration-bundle-url:
334 bundle-url: '{bundle-url}'
335 - distribution-karaf-version:
336 karaf-version: '{karaf-version}'
339 - timed: '{schedule-weekly}'
343 - project: '{csit-weekly-list}'
345 predefined-parameters: |
346 BUNDLE_URL=$BUNDLE_URL
347 KARAF_VERSION=$KARAF_VERSION
350 - email-notification:
351 email-recipients: '{email-recipients}'
352 email-prefix: '[integration]'
355 name: 'integration-distribution-high-frequency-test-trigger-{stream}'
357 project-type: freestyle
358 node: centos7-robot-2c-2g
361 - opendaylight-infra-properties:
362 build-days-to-keep: '{build-days-to-keep}'
365 - integration-bundle-url:
366 bundle-url: '{bundle-url}'
367 - distribution-karaf-version:
368 karaf-version: '{karaf-version}'
371 - timed: '{schedule-high-frequency}'
375 - project: '{csit-high-frequency-list}'
377 predefined-parameters: |
378 BUNDLE_URL=$BUNDLE_URL
379 KARAF_VERSION=$KARAF_VERSION
382 - email-notification:
383 email-recipients: '{email-recipients}'
384 email-prefix: '[integration]'
387 name: 'integration-update-csit-tests-{stream}'
389 # This job's purpose is to update csit
390 # tests to run in integration-distribution-test-{stream}
391 # by updating integration files: csit-list-{stream}.inc
392 # These files can be used as !include in int-dist-test-{stream}
394 ######################
395 # Default parameters #
396 ######################
398 git-url: '$GIT_URL/$PROJECT'
399 submodule-recursive: true
401 #####################
402 # Job Configuration #
403 #####################
405 project-type: freestyle
406 node: centos7-java-builder-2c-4g
409 - lf-infra-properties:
410 build-days-to-keep: 7
413 - lf-infra-parameters:
414 project: releng/builder # Hardcode as this job needs to pull releng/builder
416 branch: master # Hardcode as releng/builder only has master
417 lftools-version: '{lftools-version}'
420 default: '{csit-blacklist}'
421 description: Space separated list of jobs strings to blacklist.
424 - lf-infra-gerrit-scm:
425 jenkins-ssh-credential: '{jenkins-ssh-credential}'
427 refspec: '$GERRIT_REFSPEC'
428 branch: '$GERRIT_BRANCH'
429 submodule-recursive: '{submodule-recursive}'
430 choosing-strategy: default
435 jenkins-ssh-credential: '{jenkins-ssh-credential}'
439 jobs: builder-jjb-merge
442 - shell: !include-raw-escape: update-csit-tests.sh
445 git add jjb/integration/*.lst
446 - opendaylight-infra-push-gerrit-patch:
447 project: "releng/builder"
448 gerrit-topic: "auto-update-csit-jobs-{stream}"
449 gerrit-commit-message: "Auto Update CSIT Jobs to run for {stream}"