blob: bebdfbe31a39fc061bdc4a56426a8608676f284a [file] [log] [blame]
Devin Lim49200ec2018-01-19 16:17:41 -08001---
2# ONOS System Test Pipeline jobs
3
4# TODO: Change all the job names in Jenkins Pipeline script.
5
6- test-free-job-boiler-plate: &test-free-job-boiler-plate
7 name: test-free-job-boiler-plate
8
9 project-type: freestyle
10
11- init-station-plate: &init-station-plate
12 name: init-station-plate
13 station-type:
14 - 'VM'
15 - 'BM'
16
Devin Lim323c9872018-01-30 19:57:58 -080017- job-free-version-plate: &job-free-version-plate
18 name: job-free-version-plate
19 version:
20 - '1.11'
21 - '1.12'
22 - 'master'
23 - 'manually'
24
Devin Lim49200ec2018-01-19 16:17:41 -080025- test-free-init-procedure-plate: &test-free-init-procedure-plate
26 name: test-free-init-procedure-plate
27 project: OnosSystemTest
28 stream: 'master'
29
30- inject-env-variable-plate: &inject-env-variable-plate
31 name: inject-env-variable-plate
32 wrappers:
33 - inject:
34 properties-file: '/var/jenkins/TestONOS.property'
35 script-content: |
36 echo "ONOSBranch=$ONOSBranch" > /var/jenkins/TestONOS.property
37 echo "TestONBranch=$TestONBranch" >> /var/jenkins/TestONOS.property
38 echo "ONOSTag=$ONOSTag" >> /var/jenkins/TestONOS.property
39 echo "WikiPrefix=$WikiPrefix" >> /var/jenkins/TestONOS.property
40 override-build-parameters: true
41
42# post_Job
43- job-template:
44 name: postjob-{station-type}
45
46 <<: *test-free-job-boiler-plate
47
48 properties:
49
50 - build-discarder:
51 num-to-keep: 1
52
53 parameters:
54
55 - lf-infra-parameters:
56 project: '{project}'
57 branch: '{stream}'
58 stream: '{stream}'
59 lftools-version: '{lftools-version}'
60
61 node: 'TestStation-{station-type}s'
62
63 publishers:
64
Devin Limb00d26a2018-02-01 17:27:59 -080065 - image-gallery:
66 - gallery-type: archived-images-gallery
67 title: 'Test result'
68 includes: '*.jpg'
Devin Lim49200ec2018-01-19 16:17:41 -080069
70 - archive:
71 artifacts: '*.jpg'
72
Devin Lim49200ec2018-01-19 16:17:41 -080073- job-template:
74 name: test-station-log-cleanup-VM
75
76 <<: *test-free-job-boiler-plate
77 <<: *inject-env-variable-plate
78 properties:
79
80 - build-discarder:
81 num-to-keep: 30
82
83 parameters:
84
85 - string:
86 name: 'DAYS_OLD'
87 default: '15'
88
89 - lf-infra-parameters:
90 project: '{project}'
91 branch: '{stream}'
92 stream: '{stream}'
93 lftools-version: '{lftools-version}'
94
95 node: 'TestStation-VMs'
96
Devin Lim9c8fa3e2018-01-24 16:47:15 -080097# triggers:
98# - timed: '01 08 1,15 * *'
Devin Lim49200ec2018-01-19 16:17:41 -080099 builders:
100
Devin Limb00d26a2018-02-01 17:27:59 -0800101 - shell: !include-raw-escape: vm-bm-clean-up.sh
Devin Lim49200ec2018-01-19 16:17:41 -0800102
103- job-template:
104 name: test-station-log-cleanup-BM
105
106 <<: *test-free-job-boiler-plate
107 <<: *inject-env-variable-plate
108 properties:
109
110 - build-discarder:
111 num-to-keep: 30
112
113 parameters:
114
115 - string:
116 name: 'DAYS_OLD'
117 default: '30'
118
119 - lf-infra-parameters:
120 project: '{project}'
121 branch: '{stream}'
122 stream: '{stream}'
123 lftools-version: '{lftools-version}'
124
125 node: 'TestStation-BMs'
126
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800127# triggers:
128# - timed: '01 08 1 * *'
Devin Lim49200ec2018-01-19 16:17:41 -0800129
130 builders:
131
Devin Limb00d26a2018-02-01 17:27:59 -0800132 - shell: !include-raw-escape: vm-bm-clean-up.sh
Devin Lim49200ec2018-01-19 16:17:41 -0800133
134- job-template:
135 name: test-station-log-cleanup-CHO
136
137 <<: *test-free-job-boiler-plate
138 <<: *inject-env-variable-plate
139 properties:
140
141 - build-discarder:
142 num-to-keep: 15
143
144 parameters:
145
146 - string:
147 name: 'DAYS_OLD'
148 default: '15'
149
150 - lf-infra-parameters:
151 project: '{project}'
152 branch: '{stream}'
153 stream: '{stream}'
154 lftools-version: '{lftools-version}'
155
156 node: 'TestStation-CHOs'
157
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800158# triggers:
159# - timed: '@daily'
Devin Lim49200ec2018-01-19 16:17:41 -0800160 builders:
161
Devin Limb00d26a2018-02-01 17:27:59 -0800162 - shell: !include-raw-escape: cho-clean-up.sh
Devin Lim18f459d2018-01-26 19:20:30 -0800163
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800164- job-template:
165 name: QA-check-style
166
167 <<: *test-free-job-boiler-plate
168 properties:
169
170 - build-discarder:
Devin Lim18f459d2018-01-26 19:20:30 -0800171 num-to-keep: 100
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800172
173 parameters:
174
175 - string:
Devin Lim18f459d2018-01-26 19:20:30 -0800176 name: 'GERRIT_CHANGE_NUMBER'
177 default: ''
178 description: '5-digit number that corresponds to the patch set change on Gerrit.'
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800179
180 - lf-infra-parameters:
181 project: '{project}'
182 branch: '{stream}'
183 stream: '{stream}'
184 lftools-version: '{lftools-version}'
185
Devin Lim18f459d2018-01-26 19:20:30 -0800186 concurrent: true
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800187
Devin Lim18f459d2018-01-26 19:20:30 -0800188 node: 'TestStation-Jeremys'
189
Devin Lim323c9872018-01-30 19:57:58 -0800190 triggers:
191 - gerrit:
192 server-name: 'ONOS Project Gerrit'
193 trigger-on:
194 - patchset-created-event:
195 exclude-drafts: false
196 exclude-trivial-rebase: false
197 exclude-no-code-change: false
198 - draft-published-event
199 - comment-added-contains-event:
200 comment-contains-value: '(?i)^.*recheck$'
201 projects:
202 - project-compare-type: PLAIN
203 project-pattern: '{project}'
204 branches:
205 - branch-compare-type: ANT
206 branch-pattern:
207 -'**/master'
Devin Limb00d26a2018-02-01 17:27:59 -0800208 - branch-compare-type: ANT
209 branch-pattern:
Devin Lim323c9872018-01-30 19:57:58 -0800210 -'**/onos-1.[11-20]'
211 wrappers:
212 - lf-infra-wrappers:
213 build-timeout: 1800
214 jenkins-ssh-credential: '{jenkins-ssh-credential}'
215
Devin Lim18f459d2018-01-26 19:20:30 -0800216 builders:
217
218 - shell: !include-raw-escape: check-style.sh
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800219
Devin Limb00d26a2018-02-01 17:27:59 -0800220 publishers:
221 - warnings:
222 workspace-file-scanners:
223 - file-pattern: pep8Result.txt
224 scanner: Pep8
Devin Lim323c9872018-01-30 19:57:58 -0800225
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800226- job-template:
227 name: delta-nightly
228
229 <<: *test-free-job-boiler-plate
230 properties:
231
232 - build-discarder:
233 num-to-keep: 30
234
235 parameters:
236
237 - string:
238 name: 'NIGHTLY_FILE_NAME'
239 default: ''
240 description: |
241 Name of ONOS nightly build file
242 will be set to the latest file if not specified here
243
244 - string:
245 name: 'ONOS_VERSION'
246 default: '1.11.0'
247 description: 'Version number in ONOS nightly build file'
248
249 - string:
250 name: 'DELTA_PATH'
251 default: '/home/sdn'
252 description: 'Path of DELTA project'
253
254 - string:
255 name: 'WIKI_PREFIX'
256 default: 'master'
257
258 - bool:
259 name: 'CLEANUP'
260 default: true
261
262 - lf-infra-parameters:
263 project: '{project}'
264 branch: '{stream}'
265 stream: '{stream}'
266 lftools-version: '{lftools-version}'
267
268 node: 'TestStation-BMs'
269
270 wrappers:
271 - inject:
272 properties-file: '/var/jenkins/TestONOS.property'
273
274 builders:
275
276 - shell: !include-raw-escape: delta-script.sh
277
Devin Limb00d26a2018-02-01 17:27:59 -0800278 publishers:
279 - plot:
280 - title: 'DELTA Test Results for master'
281 group: 'DELTA-nightly'
282 yaxis: 'Number of test cases'
283 style: line
284 series:
285 - file: 'DELTA-nightly.csv'
286 format: 'csv'
287
288 # Todo : add confluence ( use pipeline for post build ..? )
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800289
Devin Lim18f459d2018-01-26 19:20:30 -0800290- job-template:
291 name: init-CHO
292
293 <<: *test-free-job-boiler-plate
294 properties:
295
296 - build-discarder:
297 num-to-keep: 30
298
299 parameters:
300
301 - string:
302 name: 'ONOSBranch'
303 default: 'master'
304 description: |
305 set onos branch to test. default to "master",
306 but can also be set at "onos-1.2", etc.
307 This parameter is also use to trigger where the test results to be posted
308
309 - string:
310 name: 'ONOSJVMHeap'
311 default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G}}\""
312 description: 'onos cell jvm heap size setting'
313
314 - string:
315 name: 'TestONBranch'
316 default: 'master'
317 description: 'sets TestON branch'
318
319 - string:
320 name: 'ONOSTag'
321 default: ''
322
323 - lf-infra-parameters:
324 project: '{project}'
325 branch: '{stream}'
326 stream: '{stream}'
327 lftools-version: '{lftools-version}'
328
329 node: 'TestStation-CHOs'
330
331 wrappers:
332 - inject:
333 properties-file: '/var/lib/jenkins/TestONOS.property'
334 script-content: |
335 echo "ONOSBranch=$ONOSBranch" > /var/lib/jenkins/TestONOS.property
336 echo "TestONBranch=$TestONBranch" >> /var/lib/jenkins/TestONOS.property
337 echo "ONOSTag=$ONOSTag" >> /var/lib/jenkins/TestONOS.property
338
339 override-build-parameters: true
340
341 builders:
342
343 - shell: !include-raw-escape: cho-init.sh
344
345- job-template:
346 name: running-CHO
347
348 <<: *test-free-job-boiler-plate
349 properties:
350
351 - build-discarder:
352 num-to-keep: 30
353
354 parameters:
355
356 - lf-infra-parameters:
357 project: '{project}'
358 branch: '{stream}'
359 stream: '{stream}'
360 lftools-version: '{lftools-version}'
361
362 node: 'TestStation-CHOs'
363 triggers:
364 - reverse:
365 jobs: 'init-CHO'
366 result: 'failure'
367
368 builders:
369
370 - shell: !include-raw-escape: running-cho.sh
371
372- job-template:
373 name: post-CHO-master
374
375 <<: *test-free-job-boiler-plate
376 properties:
377 - lf-infra-properties:
378 project: '{project}'
379 build-days-to-keep: 7
380
381 parameters:
382
383 - lf-infra-parameters:
384 project: '{project}'
385 branch: '{stream}'
386 stream: '{stream}'
387 lftools-version: '{lftools-version}'
388
389 node: 'TestStation-CHOs'
390# triggers:
391# - timed: 'H/60 * * * *'
392 wrappers:
393 - inject:
394 properties-file: '/var/lib/jenkins/TestONOS.property'
395 builders:
396
397 - shell: !include-raw-escape: cho-post.sh
Devin Limb00d26a2018-02-01 17:27:59 -0800398 publishers:
399 - plot:
400 - title: 'Network, Application and ONOS Events (per hour)'
401 group: 'CHOTestMonkey'
402 num-builds: '72'
403 yaxis: 'Number of Events'
404 style: line
405 logarithmic-yaxis: true
406 series:
407 - file: 'event.csv'
408 format: 'csv'
409 - title: 'Failed Checks (per hour)'
410 group: 'CHOTestMonkey'
411 num-builds: '72'
412 yaxis: 'Number of Failed Checks'
413 style: line
414 logarithmic-yaxis: true
415 series:
416 - file: 'failure.csv'
417 format: 'csv'
418 - title: 'Warnings, Errors and Exceptions from Logs (per hour)'
419 group: 'CHOTestMonkey'
420 num-builds: '72'
421 yaxis: 'Number of Warnings or Errors'
422 style: line
423 logarithmic-yaxis: true
424 series:
425 - file: 'error.csv'
426 format: 'csv'
Devin Lim18f459d2018-01-26 19:20:30 -0800427
Devin Lim323c9872018-01-30 19:57:58 -0800428- job-template:
429 name: 'SR-log-{version}'
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800430
Devin Lim323c9872018-01-30 19:57:58 -0800431 <<: *test-free-job-boiler-plate
432 properties:
433
434 - build-discarder:
435 num-to-keep: 30
436
437 parameters:
438
439 - lf-infra-parameters:
440 project: '{project}'
441 branch: '{stream}'
442 stream: '{stream}'
443 lftools-version: '{lftools-version}'
444
445 node: 'TestStation-VMs'
446 publishers:
447
448 - archive:
Devin Limb00d26a2018-02-01 17:27:59 -0800449 artifacts: '*'
450
451- job-template:
452 name: test-HA
453
454 <<: *test-free-job-boiler-plate
455 properties:
456
457 - build-discarder:
458
459 days-to-keep: 5
460 num-to-keep: 100
461
462 parameters:
463
464 - string:
465 name: 'TEST_NAME'
466 default: 'HAbackupRecover'
467 description: 'The name of the TestON test suite'
468
469 - lf-infra-parameters:
470 project: '{project}'
471 branch: '{stream}'
472 stream: '{stream}'
473 lftools-version: '{lftools-version}'
474
475 node: 'TestStation-Jons'
476 triggers:
477 - reverse:
478 jobs: 'test-HA'
479 result: 'failure'
480
481 builders:
482
483 - shell: !include-raw-escape: test-ha.sh
484
485 publishers:
486 - plot:
487 - title: 'Test job results'
488 group: 'Test-HA'
489 yaxis: 'Number of test cases'
490 style: line
491 series:
492 - file: 'results.csv'
493 format: 'csv'
494
495 - title: 'Timers'
496 group: 'Test-HA'
497 yaxis: 'Time in seconds'
498 style: line
499 series:
500 - file: 'Timers.csv'
501 format: 'csv'
502
503 - post-tasks:
504 - escalate-status: true
505 script: |
506 if [ -e ${{WORKSPACE}}/${{TEST_NAME##*/}}Wiki.txt ] && ! grep -q "FAIL" ${{WORKSPACE}}/${{TEST_NAME##*/}}Wiki.txt
507 then
508 exit 0
509 else
510 exit 1
511 fi
Devin Lim49200ec2018-01-19 16:17:41 -0800512
513- project:
514 name: post-result-jobs
515 project-name: post-result-jobs
516
517 <<: *test-free-init-procedure-plate
518 <<: *init-station-plate
519 jobs:
520 - 'postjob-{station-type}'
521
522- project:
523 name: cleanup-jobs
524 project-name: cleanup-jobs
525
526 <<: *test-free-init-procedure-plate
527 <<: *init-station-plate
528 jobs:
529 - 'test-station-log-cleanup-VM'
530 - 'test-station-log-cleanup-BM'
531 - 'test-station-log-cleanup-CHO'
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800532
533- project:
534 name: check-style
535 project-name: check-style
536
537 <<: *test-free-init-procedure-plate
538 jobs:
539 - 'QA-check-style'
540
541- project:
542 name: delta-test
543 project-name: delta-test
544
545 <<: *test-free-init-procedure-plate
546 jobs:
547 - 'delta-nightly'
Devin Lim7d7cd992018-01-25 14:12:40 -0800548
Devin Lim18f459d2018-01-26 19:20:30 -0800549- project:
550 name: cho-tests
551 project-name: cho-tests
552
553 <<: *test-free-init-procedure-plate
554 jobs:
555 - 'init-CHO'
556 - 'running-CHO'
557 - 'post-CHO-master'
Devin Lim323c9872018-01-30 19:57:58 -0800558
559
560- project:
561 name: log-pipeline
562
563 <<: *job-free-version-plate
564
565 project-name: 'log-pipeline'
566
567 <<: *test-free-init-procedure-plate
568
569 jobs:
570 - 'SR-log-{version}'
Devin Limb00d26a2018-02-01 17:27:59 -0800571
572- project:
573 name: personnel-station
574
575 project-name: 'log-pipeline'
576
577 <<: *test-free-init-procedure-plate
578
579 jobs:
580 - 'test-HA'