blob: 773be89152a8c8424bbe6ba854fa5b59407bc216 [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
Devin Lim7d7cd992018-01-25 14:12:40 -080042- builder:
43 name: clean-up-bash
44 beforeClean: |
45 echo -e "\n Before clean up disk usage: \n"
46 df -h
47 cleaning: |
48 cleaning{
49 if [ $? -eq 0 ]
50 then
Devin Lim18f459d2018-01-26 19:20:30 -080051 echo "Checking if there are logs older than ${{DAYS_OLD}} days...."
52 for i in $(find . -mtime +${{DAYS_OLD}} -type d)
Devin Lim7d7cd992018-01-25 14:12:40 -080053 do
54 echo -e "DIRs older than $DAYS_OLD are: "
55 echo $i
56 rm -rf $i
57 done
58 fi
59 afterClean: |
60 echo -e "\n After clean up disk usage:\n"
61 df -h
62 builders:
Devin Lim18f459d2018-01-26 19:20:30 -080063 - shell: |
64 #!/bin/bash
65
66 source ./clean-up.sh
67
68 {beforeClean}
69
70 cd /home/{user}/OnosSystemTest/TestON/logs
71
72 {cleaning}
73
74 {additional}
75
76 {afterClean}
Devin Lim7d7cd992018-01-25 14:12:40 -080077
Devin Lim49200ec2018-01-19 16:17:41 -080078# post_Job
79- job-template:
80 name: postjob-{station-type}
81
82 <<: *test-free-job-boiler-plate
83
84 properties:
85
86 - build-discarder:
87 num-to-keep: 1
88
89 parameters:
90
91 - lf-infra-parameters:
92 project: '{project}'
93 branch: '{stream}'
94 stream: '{stream}'
95 lftools-version: '{lftools-version}'
96
97 node: 'TestStation-{station-type}s'
98
99 publishers:
100
101# - image-gallery:
102# - gallery-type: archived-images-gallery
103# title: 'Test result'
104# includes: '*.jpg'
105
106 - archive:
107 artifacts: '*.jpg'
108
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800109# cleanup_stations - TDOO: check if getting the directory works.
Devin Lim49200ec2018-01-19 16:17:41 -0800110- job-template:
111 name: test-station-log-cleanup-VM
112
113 <<: *test-free-job-boiler-plate
114 <<: *inject-env-variable-plate
115 properties:
116
117 - build-discarder:
118 num-to-keep: 30
119
120 parameters:
121
122 - string:
123 name: 'DAYS_OLD'
124 default: '15'
125
126 - lf-infra-parameters:
127 project: '{project}'
128 branch: '{stream}'
129 stream: '{stream}'
130 lftools-version: '{lftools-version}'
131
132 node: 'TestStation-VMs'
133
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800134# triggers:
135# - timed: '01 08 1,15 * *'
Devin Lim49200ec2018-01-19 16:17:41 -0800136
137 builders:
138
Devin Lim7d7cd992018-01-25 14:12:40 -0800139 - clean-up-bash:
Devin Lim18f459d2018-01-26 19:20:30 -0800140 user: 'sdn'
141 additional: ''
Devin Lim49200ec2018-01-19 16:17:41 -0800142
143- job-template:
144 name: test-station-log-cleanup-BM
145
146 <<: *test-free-job-boiler-plate
147 <<: *inject-env-variable-plate
148 properties:
149
150 - build-discarder:
151 num-to-keep: 30
152
153 parameters:
154
155 - string:
156 name: 'DAYS_OLD'
157 default: '30'
158
159 - lf-infra-parameters:
160 project: '{project}'
161 branch: '{stream}'
162 stream: '{stream}'
163 lftools-version: '{lftools-version}'
164
165 node: 'TestStation-BMs'
166
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800167# triggers:
168# - timed: '01 08 1 * *'
Devin Lim49200ec2018-01-19 16:17:41 -0800169
170 builders:
171
Devin Lim7d7cd992018-01-25 14:12:40 -0800172 - clean-up-bash:
Devin Lim18f459d2018-01-26 19:20:30 -0800173 user: 'sdn'
174 additional: ''
Devin Lim49200ec2018-01-19 16:17:41 -0800175
176- job-template:
177 name: test-station-log-cleanup-CHO
178
179 <<: *test-free-job-boiler-plate
180 <<: *inject-env-variable-plate
181 properties:
182
183 - build-discarder:
184 num-to-keep: 15
185
186 parameters:
187
188 - string:
189 name: 'DAYS_OLD'
190 default: '15'
191
192 - lf-infra-parameters:
193 project: '{project}'
194 branch: '{stream}'
195 stream: '{stream}'
196 lftools-version: '{lftools-version}'
197
198 node: 'TestStation-CHOs'
199
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800200# triggers:
201# - timed: '@daily'
Devin Lim49200ec2018-01-19 16:17:41 -0800202
203 builders:
204
Devin Lim7d7cd992018-01-25 14:12:40 -0800205 - clean-up-bash:
Devin Lim18f459d2018-01-26 19:20:30 -0800206 user: 'admin'
207 additional: |
208 cd /var/lib/jenkins/workspace/OnosProdCHOpost
209
210 echo "Checking if there are jenkins-logs older than ${{DAYS_OLD}} days...."
211 for i in $(find . -mtime +${{DAYS_OLD}})
212 do
213 echo -e "logs older than $DAYS_OLD are: "
214 echo $i
215 rm -rf $i
216 done
Devin Lim49200ec2018-01-19 16:17:41 -0800217
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800218# haven't done this yet.
219- job-template:
220 name: QA-check-style
221
222 <<: *test-free-job-boiler-plate
223 properties:
224
225 - build-discarder:
Devin Lim18f459d2018-01-26 19:20:30 -0800226 num-to-keep: 100
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800227
228 parameters:
229
230 - string:
Devin Lim18f459d2018-01-26 19:20:30 -0800231 name: 'GERRIT_CHANGE_NUMBER'
232 default: ''
233 description: '5-digit number that corresponds to the patch set change on Gerrit.'
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800234
235 - lf-infra-parameters:
236 project: '{project}'
237 branch: '{stream}'
238 stream: '{stream}'
239 lftools-version: '{lftools-version}'
240
Devin Lim18f459d2018-01-26 19:20:30 -0800241 concurrent: true
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800242
Devin Lim18f459d2018-01-26 19:20:30 -0800243 node: 'TestStation-Jeremys'
244
Devin Lim323c9872018-01-30 19:57:58 -0800245 triggers:
246 - gerrit:
247 server-name: 'ONOS Project Gerrit'
248 trigger-on:
249 - patchset-created-event:
250 exclude-drafts: false
251 exclude-trivial-rebase: false
252 exclude-no-code-change: false
253 - draft-published-event
254 - comment-added-contains-event:
255 comment-contains-value: '(?i)^.*recheck$'
256 projects:
257 - project-compare-type: PLAIN
258 project-pattern: '{project}'
259 branches:
260 - branch-compare-type: ANT
261 branch-pattern:
262 -'**/master'
263 -'**/onos-1.[11-20]'
264 wrappers:
265 - lf-infra-wrappers:
266 build-timeout: 1800
267 jenkins-ssh-credential: '{jenkins-ssh-credential}'
268
Devin Lim18f459d2018-01-26 19:20:30 -0800269 builders:
270
271 - shell: !include-raw-escape: check-style.sh
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800272
Devin Lim323c9872018-01-30 19:57:58 -0800273# publishers:
274# - warnings:
275# workspace-file-scanners:
276# - file-pattern: pep8Result.txt
277# scanner: Pep8
278
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800279- job-template:
280 name: delta-nightly
281
282 <<: *test-free-job-boiler-plate
283 properties:
284
285 - build-discarder:
286 num-to-keep: 30
287
288 parameters:
289
290 - string:
291 name: 'NIGHTLY_FILE_NAME'
292 default: ''
293 description: |
294 Name of ONOS nightly build file
295 will be set to the latest file if not specified here
296
297 - string:
298 name: 'ONOS_VERSION'
299 default: '1.11.0'
300 description: 'Version number in ONOS nightly build file'
301
302 - string:
303 name: 'DELTA_PATH'
304 default: '/home/sdn'
305 description: 'Path of DELTA project'
306
307 - string:
308 name: 'WIKI_PREFIX'
309 default: 'master'
310
311 - bool:
312 name: 'CLEANUP'
313 default: true
314
315 - lf-infra-parameters:
316 project: '{project}'
317 branch: '{stream}'
318 stream: '{stream}'
319 lftools-version: '{lftools-version}'
320
321 node: 'TestStation-BMs'
322
323 wrappers:
324 - inject:
325 properties-file: '/var/jenkins/TestONOS.property'
326
327 builders:
328
329 - shell: !include-raw-escape: delta-script.sh
330
331 # Todo : add graph and confluence ( use pipeline for post build ..? )
332
Devin Lim18f459d2018-01-26 19:20:30 -0800333- job-template:
334 name: init-CHO
335
336 <<: *test-free-job-boiler-plate
337 properties:
338
339 - build-discarder:
340 num-to-keep: 30
341
342 parameters:
343
344 - string:
345 name: 'ONOSBranch'
346 default: 'master'
347 description: |
348 set onos branch to test. default to "master",
349 but can also be set at "onos-1.2", etc.
350 This parameter is also use to trigger where the test results to be posted
351
352 - string:
353 name: 'ONOSJVMHeap'
354 default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G}}\""
355 description: 'onos cell jvm heap size setting'
356
357 - string:
358 name: 'TestONBranch'
359 default: 'master'
360 description: 'sets TestON branch'
361
362 - string:
363 name: 'ONOSTag'
364 default: ''
365
366 - lf-infra-parameters:
367 project: '{project}'
368 branch: '{stream}'
369 stream: '{stream}'
370 lftools-version: '{lftools-version}'
371
372 node: 'TestStation-CHOs'
373
374 wrappers:
375 - inject:
376 properties-file: '/var/lib/jenkins/TestONOS.property'
377 script-content: |
378 echo "ONOSBranch=$ONOSBranch" > /var/lib/jenkins/TestONOS.property
379 echo "TestONBranch=$TestONBranch" >> /var/lib/jenkins/TestONOS.property
380 echo "ONOSTag=$ONOSTag" >> /var/lib/jenkins/TestONOS.property
381
382 override-build-parameters: true
383
384 builders:
385
386 - shell: !include-raw-escape: cho-init.sh
387
388- job-template:
389 name: running-CHO
390
391 <<: *test-free-job-boiler-plate
392 properties:
393
394 - build-discarder:
395 num-to-keep: 30
396
397 parameters:
398
399 - lf-infra-parameters:
400 project: '{project}'
401 branch: '{stream}'
402 stream: '{stream}'
403 lftools-version: '{lftools-version}'
404
405 node: 'TestStation-CHOs'
406 triggers:
407 - reverse:
408 jobs: 'init-CHO'
409 result: 'failure'
410
411 builders:
412
413 - shell: !include-raw-escape: running-cho.sh
414
415- job-template:
416 name: post-CHO-master
417
418 <<: *test-free-job-boiler-plate
419 properties:
420 - lf-infra-properties:
421 project: '{project}'
422 build-days-to-keep: 7
423
424 parameters:
425
426 - lf-infra-parameters:
427 project: '{project}'
428 branch: '{stream}'
429 stream: '{stream}'
430 lftools-version: '{lftools-version}'
431
432 node: 'TestStation-CHOs'
433# triggers:
434# - timed: 'H/60 * * * *'
435 wrappers:
436 - inject:
437 properties-file: '/var/lib/jenkins/TestONOS.property'
438 builders:
439
440 - shell: !include-raw-escape: cho-post.sh
441# plot data needed.
442
Devin Lim323c9872018-01-30 19:57:58 -0800443- job-template:
444 name: 'SR-log-{version}'
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800445
Devin Lim323c9872018-01-30 19:57:58 -0800446 <<: *test-free-job-boiler-plate
447 properties:
448
449 - build-discarder:
450 num-to-keep: 30
451
452 parameters:
453
454 - lf-infra-parameters:
455 project: '{project}'
456 branch: '{stream}'
457 stream: '{stream}'
458 lftools-version: '{lftools-version}'
459
460 node: 'TestStation-VMs'
461 publishers:
462
463 - archive:
464 artifacts: '*.jpg'
Devin Lim49200ec2018-01-19 16:17:41 -0800465#TODO LIST : DELTA -> perhaps change into pipeline?? , CHO_jobs, Check_style, Personal stations : necessary?
466
467- project:
468 name: post-result-jobs
469 project-name: post-result-jobs
470
471 <<: *test-free-init-procedure-plate
472 <<: *init-station-plate
473 jobs:
474 - 'postjob-{station-type}'
475
476- project:
477 name: cleanup-jobs
478 project-name: cleanup-jobs
479
480 <<: *test-free-init-procedure-plate
481 <<: *init-station-plate
482 jobs:
483 - 'test-station-log-cleanup-VM'
484 - 'test-station-log-cleanup-BM'
485 - 'test-station-log-cleanup-CHO'
Devin Lim9c8fa3e2018-01-24 16:47:15 -0800486
487- project:
488 name: check-style
489 project-name: check-style
490
491 <<: *test-free-init-procedure-plate
492 jobs:
493 - 'QA-check-style'
494
495- project:
496 name: delta-test
497 project-name: delta-test
498
499 <<: *test-free-init-procedure-plate
500 jobs:
501 - 'delta-nightly'
Devin Lim7d7cd992018-01-25 14:12:40 -0800502
Devin Lim18f459d2018-01-26 19:20:30 -0800503- project:
504 name: cho-tests
505 project-name: cho-tests
506
507 <<: *test-free-init-procedure-plate
508 jobs:
509 - 'init-CHO'
510 - 'running-CHO'
511 - 'post-CHO-master'
Devin Lim323c9872018-01-30 19:57:58 -0800512
513
514- project:
515 name: log-pipeline
516
517 <<: *job-free-version-plate
518
519 project-name: 'log-pipeline'
520
521 <<: *test-free-init-procedure-plate
522
523 jobs:
524 - 'SR-log-{version}'