blob: bba8d1179c2e5e4fb5b72ed7d1d8dafc7ec08f9d [file] [log] [blame]
Devin Lim38d14062018-01-11 17:08:00 -08001---
2# ONOS System Test Pipeline jobs
3
Devin Lim7a877872018-01-16 14:50:57 -08004# TODO: for some reason, lf-* types of macro cannot access to the variable. I think it is typical problem to pipeline job type.
5
Devin Lim38d14062018-01-11 17:08:00 -08006- var-init-boiler-plate: &var-init-boiler-plate
7 name: var-init-boiler-plate
8 FUNC: "FUNCgroup\nFUNCflow\nFUNCintent\nFUNCintentRest\nFUNCipv6Intent\nFUNCnetCfg\nFUNCnetconf\nFUNCoptical\nFUNCovsdbtest\nFUNCformCluster"
9 HA: "HAclusterRestart\nHAfullNetPartition\nHAkillNodes\nHAsanity\nHAscaling\nHAsingleInstanceRestart\nHAstopNodes\nHAswapNodes\nHAupgrade\nHAupgradeRollback"
10 SCPF: "SCPFcbench\nSCPFflowTp1g\nSCPFhostLat\nSCPFintentEventTp\nSCPFintentInstallWithdrawLat\nSCPFintentRerouteLat\nSCPFmastershipFailoverLat\nSCPFbatchFlowResp\nSCPFportLat\nSCPFscaleTopo\nSCPFscalingMaxIntents\nSCPFswitchLat\nSCPFflowTp1gWithFlowObj\nSCPFintentEventTpWithFlowObj\nSCPFintentRerouteLatWithFlowObj\nSCPFscalingMaxIntentsWithFlowObj\nSCPFintentInstallWithdrawLatWithFlowObj"
Devin Lim80546912018-03-23 17:49:39 -070011 USECASE: "FUNCbgpls\nFUNCvirNetNB\nPLATdockertest\nVPLSBasic\nVPLSfailsafe\nUSECASE_SdnipFunction\nUSECASE_SdnipFunctionCluster"
12 SR: "SRRouting\nSRBridging\nSRDhcprelay\nSRDynamicConf\nSRMulticast\nSRClusterRestart\nSRDynamic\nSRHighAvailability\nSRLinkFailure\nSROnosFailure\nSRSanity\nSRSwitchFailure"
Jon Hall9017d2e2018-06-11 12:04:52 -070013 SRHA: "SRHAclusterRestart\nSRHAfullNetPartition\nSRHAkillNodes\nSRHAsanity\nSRHAscaling\nSRHAsingleInstanceRestart\nSRHAstopNodes\nSRHAswapNodes\nSRHAupgrade\nSRHAupgradeRollback"
14
Devin Lim38d14062018-01-11 17:08:00 -080015
Devin Lim49200ec2018-01-19 16:17:41 -080016- test-pipe-job-boiler-plate: &test-pipe-job-boiler-plate
17 name: test-pipe-job-boiler-plate
Devin Lim38d14062018-01-11 17:08:00 -080018
19 project-type: pipeline
20
21 sandbox: true
22
Devin Lim38d14062018-01-11 17:08:00 -080023 properties:
24
25 - build-discarder:
26 num-to-keep: 20
Devin Limca864a12018-02-09 11:25:30 -080027 gitURL: https://gerrit.onosproject.org/OnosSystemTest
Devin Lim38d14062018-01-11 17:08:00 -080028
Devin Lim49200ec2018-01-19 16:17:41 -080029- test-pipe-init-procedure-plate: &test-pipe-init-procedure-plate
30 name: test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -080031 project: OnosSystemTest
32 stream: 'master'
33 jenkins-path: 'TestON/JenkinsFile'
34
35- job-version-plate: &job-version-plate
36 name: job-version-plate
37 version:
You Wang5efd7592018-08-02 21:49:51 +000038 - '1.12'
39 - '1.13'
You Wang7ab523d2018-08-20 15:03:43 -070040 - '1.14'
Devin Lim7a877872018-01-16 14:50:57 -080041 - 'master'
42 - 'manually'
43
44- job-type-plate: &job-type-plate
45 name: job-type-plate
46 type:
47 - 'FUNC'
48 - 'HA'
49 - 'SCPF'
50 - 'USECASE'
Devin Lim323c9872018-01-30 19:57:58 -080051 - 'SR'
Jon Hall9017d2e2018-06-11 12:04:52 -070052 - 'SRHA'
Devin Lim7a877872018-01-16 14:50:57 -080053
Devin Lim74cf6cb2018-01-12 15:03:34 -080054- job-template:
Devin Lim38d14062018-01-11 17:08:00 -080055 name: all-pipeline-trigger
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -080056 description: |
57 <!-- Managed by Jenkins Job Builder -->
Devin Lim1c4753e2018-03-23 15:31:38 -070058 all-pipeline-trigger can trigger any TestON test on any branch of ONOS and TestON, by running the test category pipeline that contains the test. <br />
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -080059 This pipeline is triggered by timer for the nightly builds. <br />
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -080060 Created by Devin Lim - devin@opennetworking.org<br />
61 Copyright (c) 2017 Open Networking Foundation (ONF)
Devin Lim38d14062018-01-11 17:08:00 -080062
Devin Lim49200ec2018-01-19 16:17:41 -080063 <<: *test-pipe-job-boiler-plate
Devin Lim38d14062018-01-11 17:08:00 -080064
Devin Lim7a877872018-01-16 14:50:57 -080065 parameters:
Devin Lim74cf6cb2018-01-12 15:03:34 -080066
Devin Limd0700312018-05-10 14:49:38 -070067 - bool:
68 name: manual_run
69 default: false
70 description: |
71 Check this option if you are manually running this job (you most likely are). <br />
72
Devin Lim74cf6cb2018-01-12 15:03:34 -080073 - text:
Devin Lim3e15df62018-05-09 17:45:51 -070074 name: machines
Devin Lim7a877872018-01-16 14:50:57 -080075 default: |
Devin Lim3e15df62018-05-09 17:45:51 -070076 vm
77 bm
78 fabric
79 description: 'Specify the machine-trigger you want to run.'
Devin Lim38d14062018-01-11 17:08:00 -080080
Devin Lim7a877872018-01-16 14:50:57 -080081 - lf-infra-parameters:
82 project: 'OnosSystemTest'
83 branch: 'master'
84 stream: 'master'
85 lftools-version: '<1.0.0'
86
Devin Lim3e15df62018-05-09 17:45:51 -070087 concurrent: true
Devin Lim38d14062018-01-11 17:08:00 -080088
Devin Lim2b5ef2e2018-02-27 14:05:08 -080089 triggers:
90 - timed: |
Devin Lime625f9a2018-03-26 12:04:47 -070091 TZ=America/Los_Angeles
92 30 19 * * 1,2,3,4,5
93 30 11 * * 6,7
Devin Lim38d14062018-01-11 17:08:00 -080094
95 pipeline-scm:
Devin Lim7a877872018-01-16 14:50:57 -080096 script-path: '{jenkins-path}/JenkinsfileTrigger'
97 scm:
98 - git:
Devin Limca864a12018-02-09 11:25:30 -080099 url: '{gitURL}'
Devin Lim7a877872018-01-16 14:50:57 -0800100 branches:
101 - 'master'
102
103- job-template:
Devin Lim3e15df62018-05-09 17:45:51 -0700104 name: '{machine}-pipeline-trigger'
105 id: pipeline-trigger
Devin Lim1c4753e2018-03-23 15:31:38 -0700106 description: |
107 <!-- Managed by Jenkins Job Builder -->
Devin Lim3e15df62018-05-09 17:45:51 -0700108 {machine}-pipeline-trigger can trigger Segment Routing TestON test on any branch of ONOS and TestON, by running the test category pipeline that contains the test. <br />
Devin Lim1c4753e2018-03-23 15:31:38 -0700109 This pipeline is triggered by timer for the nightly builds. <br />
110 You may manually trigger this pipeline as well - provide the tests to run and the branch of ONOS and TestON. <br /> <br />
111 Note: <i>The console output for this job does <b>not</b> contain any test result logs.</i><br />
Devin Lim3e15df62018-05-09 17:45:51 -0700112 Visit the test category pipelines (such as <a href="https://jenkins.onosproject.org/view/QA/job/FUNC-pipeline-master/">FUNC-pipeline-master</a>) to view the test logs. <br /> <br />
Devin Lim1c4753e2018-03-23 15:31:38 -0700113 Created by Devin Lim - devin@opennetworking.org<br />
114 Copyright (c) 2017 Open Networking Foundation (ONF)
115
Devin Lim1c4753e2018-03-23 15:31:38 -0700116 <<: *test-pipe-job-boiler-plate
117
118 parameters:
119
120 - bool:
121 name: manual_run
122 default: false
123 description: |
124 Check this option if you are manually running this job (you most likely are). <br />
125 You must specify which tests to run in the text field below.
126
127 - bool:
128 name: PostResult
129 default: false
130 description: |
131 Check this option if you want to update the results on the wiki. <br />
132 When manually run, this will update the wiki pages corresponding to the tests that were run. <br />
133 This option will always be selected during nightly builds.
134
135 - bool:
136 name: isOldFlow
137 default: true
138 description: |
139 Check this option if you prefer to run the old flow rule over the new one. <br />
140 * This only applies to SCPF tests.
141
142 - choice:
143 name: ONOSVersion
144 choices:
145 - 'master'
You Wang7ab523d2018-08-20 15:03:43 -0700146 - '1.14'
Devin Lim7550e022018-04-13 18:31:02 -0700147 - '1.13'
Devin Lim1c4753e2018-03-23 15:31:38 -0700148 - '1.12'
Devin Lim1c4753e2018-03-23 15:31:38 -0700149 description: "ONOS and TestON versions to run on."
150
151 - string:
152 name: ONOSJVMHeap
153 default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G}}\""
154 description: 'ONOS cell JVM heap size setting.'
155
156 - string:
157 name: ONOSTag
158 default: ''
159 desciption: 'specific branch trying to checkout'
160
161 - text:
162 name: Tests
163 default: |
Devin Lim3e15df62018-05-09 17:45:51 -0700164 {testList}
Devin Lim1c4753e2018-03-23 15:31:38 -0700165
166 description: 'Specify the tests you want to run, if manual_run is selected.'
167
168 - lf-infra-parameters:
169 project: 'OnosSystemTest'
170 branch: 'master'
171 stream: 'master'
172 lftools-version: '<1.0.0'
173
174 concurrent: false
175
Devin Lim1c4753e2018-03-23 15:31:38 -0700176 pipeline-scm:
Devin Lim3e15df62018-05-09 17:45:51 -0700177 script-path: '{jenkins-path}/{fileName}JenkinsfileTrigger'
Devin Lim1c4753e2018-03-23 15:31:38 -0700178 scm:
179 - git:
180 url: '{gitURL}'
181 branches:
182 - 'master'
183
184- job-template:
Devin Lim7a877872018-01-16 14:50:57 -0800185 name: '{type}-pipeline-{version}'
Jeremy Ronquilloae3c7692018-03-05 08:47:05 -0800186 description: '<!-- Managed by Jenkins Job Builder -->
187 This pipeline contains the test results and logs of {type} on ONOS {version}. <br /><br />
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800188 Visit <a href="https://jenkins.onosproject.org/view/QA/job/all-pipeline-trigger/">all-pipeline-trigger</a> to trigger a build in this pipeline.<br />
189 <font color="red">Unless debugging, DO NOT MANUALLY BUILD THIS PIPELINE.</font><br /><br />
190 Created by Devin Lim - devin@opennetworking.org<br />
Jeremy Ronquilloae3c7692018-03-05 08:47:05 -0800191 Copyright (c) 2017 Open Networking Foundation (ONF)'
Devin Lim7a877872018-01-16 14:50:57 -0800192
Devin Lim49200ec2018-01-19 16:17:41 -0800193 <<: *test-pipe-job-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800194
195 parameters:
196
197 - string:
198 name: TRIGGER_ONLY_WHEN_PREVIOUS_JOB_WAS_BUILT_HERE
199 default: 'DO_NOT_MANUALLY_TRIGGER_A_BUILD_HERE'
200 description: |
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800201 <a href="https://jenkins.onosproject.org/view/QA/job/all-pipeline-trigger/">all-pipeline-trigger</a> triggers this pipeline automatically.
Devin Lim7a877872018-01-16 14:50:57 -0800202
203 - lf-infra-parameters:
204 project: 'OnosSystemTest'
205 branch: 'master'
206 stream: 'master'
207 lftools-version: '<1.0.0'
208
209 concurrent: false
210
211 pipeline-scm:
212 script-path: '{jenkins-path}/{type}JenkinsFile'
213 scm:
214 - git:
Devin Limca864a12018-02-09 11:25:30 -0800215 url: '{gitURL}'
Devin Lim7a877872018-01-16 14:50:57 -0800216 branches:
217 - 'master'
218
219- job-template:
220 name: 'manual-graph-generator-SCPF'
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800221 description: |
222 <!-- Managed by Jenkins Job Builder -->
223 Refresh the wiki graphs here. Useful when there is a change in the graph scripts.<br />
224 <br />
225 You may also generate a graph trend that displays any number of builds here.<br />
226 However, keep in mind that only the 50 build graphs will be displayed on the wiki, unless they are manually changed on the wiki.<br >
227 <br >
228 Graphs are stored in the <a href="https://jenkins.onosproject.org/view/QA/job/postjob-BM/">postjob-BM<a> workspace.
Devin Lim7a877872018-01-16 14:50:57 -0800229
230 <<: *var-init-boiler-plate
Devin Lim49200ec2018-01-19 16:17:41 -0800231 <<: *test-pipe-job-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800232
233 parameters:
234
Devin Lim7a877872018-01-16 14:50:57 -0800235 - choice:
236 name: ONOSbranch
237 choices:
238 - 'master'
You Wang7ab523d2018-08-20 15:03:43 -0700239 - 'onos-1.14'
Devin Lim7550e022018-04-13 18:31:02 -0700240 - 'onos-1.13'
Devin Lim7a877872018-01-16 14:50:57 -0800241 - 'onos-1.12'
Devin Lim7a877872018-01-16 14:50:57 -0800242 description: "Possible branches (may vary depending on test)"
243
244 - bool:
Devin Lim397fa7c2018-04-13 16:25:01 -0700245 name: isOldFlow
Devin Lim7a877872018-01-16 14:50:57 -0800246 default: false
247 description: 'Check if it is using the old flow rules'
248
249 - text:
250 name: Test
251 default: '{SCPF}'
252 description: 'List of the tests to generate.'
253
254 - lf-infra-parameters:
255 project: 'OnosSystemTest'
256 branch: 'master'
257 stream: 'master'
258 lftools-version: '<1.0.0'
259
260 pipeline-scm:
261 script-path: '{jenkins-path}/SCPF_Graph_Generator'
262 scm:
263 - git:
Devin Limca864a12018-02-09 11:25:30 -0800264 url: '{gitURL}'
Devin Lim7a877872018-01-16 14:50:57 -0800265 branches:
266 - 'master'
267
268- job-template:
269 name: 'manual-graph-generator-trend'
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800270 description: |
271 <!-- Managed by Jenkins Job Builder -->
272 Refresh the trend graphs here. Useful when there is a change in the graph scripts. <br />
273 Graphs are stored in their respective Postjob pipeline.
274
Devin Lim7a877872018-01-16 14:50:57 -0800275
276 <<: *var-init-boiler-plate
Devin Lim49200ec2018-01-19 16:17:41 -0800277 <<: *test-pipe-job-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800278
279 parameters:
280
281 - choice:
282 name: ONOSbranch
283 choices:
284 - 'master'
You Wang7ab523d2018-08-20 15:03:43 -0700285 - 'onos-1.14'
Devin Lim7550e022018-04-13 18:31:02 -0700286 - 'onos-1.13'
Devin Lim7a877872018-01-16 14:50:57 -0800287 - 'onos-1.12'
Devin Lim7a877872018-01-16 14:50:57 -0800288 description: "Possible branches (may vary depending on test)"
289
290 - choice:
291 name: NodeCluster
292 choices:
293 - VM
294 - BM
Devin Lim80546912018-03-23 17:49:39 -0700295 - Fabric
Devin Lim7a877872018-01-16 14:50:57 -0800296 description: |
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800297 Node cluster where the test graphs in the list are located. <br />
Devin Lim7a877872018-01-16 14:50:57 -0800298 List of the tests will be refreshed depends on the node cluster.
299
300 - text:
301 name: Test
302 default: |
303 VM:
304 {FUNC}
305 {HA}
306 BM:
307 {USECASE}
Devin Lim80546912018-03-23 17:49:39 -0700308 Fabric:
309 {SR}
Jon Hall9017d2e2018-06-11 12:04:52 -0700310 {SRHA}
Devin Lim7a877872018-01-16 14:50:57 -0800311 description: 'List of the tests to generate.'
312
313 - string:
314 name: Builds
Devin Lim72caaba2018-03-02 15:15:46 -0800315 default: '20'
Devin Lim7a877872018-01-16 14:50:57 -0800316 description: 'Builds to show in the graph.'
317
318 - lf-infra-parameters:
319 project: 'OnosSystemTest'
320 branch: 'master'
321 stream: 'master'
322 lftools-version: '<1.0.0'
323
324 pipeline-scm:
325 script-path: '{jenkins-path}/Trend_Graph_Generator'
Devin Lim38d14062018-01-11 17:08:00 -0800326 scm:
327 - git:
Devin Limca864a12018-02-09 11:25:30 -0800328 url: '{gitURL}'
Devin Lim38d14062018-01-11 17:08:00 -0800329 branches:
Devin Lim74cf6cb2018-01-12 15:03:34 -0800330 - 'master'
Devin Lim38d14062018-01-11 17:08:00 -0800331
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800332- job-template:
333 name: 'manual-graph-generator-overall'
334 description: |
335 <!-- Managed by Jenkins Job Builder -->
336 Refresh the overall graphs here. Useful when there is a change in the graph scripts. <br />
337 Graphs are stored in pipeline-postjob-vm.
338
339 <<: *test-pipe-job-boiler-plate
340
341 parameters:
342 - choice:
343 name: ONOSbranch
344 choices:
345 - 'master'
You Wang7ab523d2018-08-20 15:03:43 -0700346 - 'onos-1.14'
Devin Lim7550e022018-04-13 18:31:02 -0700347 - 'onos-1.13'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800348 - 'onos-1.12'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800349 description: "Possible branches (may vary depending on test)"
350
351 - lf-infra-parameters:
352 project: 'OnosSystemTest'
353 branch: 'master'
354 stream: 'master'
355 lftools-version: '<1.0.0'
356
357 pipeline-scm:
358 script-path: '{jenkins-path}/Overall_Graph_Generator'
359 scm:
360 - git:
361 url: '{gitURL}'
362 branches:
363 - 'master'
364
Devin Lim02197b22018-05-10 17:09:38 -0700365- job-template:
366 name: 'graph-generator-CHO'
367 description: |
368 <!-- Managed by Jenkins Job Builder -->
369 Generates the CHO graphs. <br />
370 Graphs are stored in pipeline-postjob-cho.
371
372 <<: *test-pipe-job-boiler-plate
373
374 parameters:
375 - text:
376 name: ONOSbranch
377 default: |
378 master
379 description: "Branch of the onos"
380
Devin Lime48c6dd2018-05-14 13:58:21 -0700381 - choice:
382 name: hours
383 choices:
384 - '168'
385 - '72'
386 description: "Hours of data to display."
387
Devin Lim02197b22018-05-10 17:09:38 -0700388 - lf-infra-parameters:
389 project: 'OnosSystemTest'
390 branch: 'master'
391 stream: 'master'
392 lftools-version: '<1.0.0'
Devin Lime91edd42018-05-11 15:50:09 -0700393 triggers:
394 - timed: 'H/60 * * * *'
Devin Lim02197b22018-05-10 17:09:38 -0700395 pipeline-scm:
396 script-path: '{jenkins-path}/CHO_Graph_Generator'
397 scm:
398 - git:
399 url: '{gitURL}'
400 branches:
401 - 'master'
402
Devin Lim38d14062018-01-11 17:08:00 -0800403- project:
Devin Lim1c4753e2018-03-23 15:31:38 -0700404 name: pipeline-trigger
405 project-name: pipeline-trigger
Devin Lim7a877872018-01-16 14:50:57 -0800406
Devin Lim49200ec2018-01-19 16:17:41 -0800407 <<: *test-pipe-init-procedure-plate
Devin Lim3e15df62018-05-09 17:45:51 -0700408 <<: *var-init-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800409
Devin Lim38d14062018-01-11 17:08:00 -0800410 jobs:
411 - 'all-pipeline-trigger'
Devin Lim3e15df62018-05-09 17:45:51 -0700412 - 'pipeline-trigger':
413 machine: 'vm'
Devin Lim781a7552018-05-10 14:24:55 -0700414 testList: |
415 {FUNC}
416 {HA}
Devin Lim3e15df62018-05-09 17:45:51 -0700417 fileName: 'VM_BM'
418
419 - 'pipeline-trigger':
420 machine: 'bm'
Devin Lim781a7552018-05-10 14:24:55 -0700421 testList: |
422 {SCPF}
423 {USECASE}
Devin Lim3e15df62018-05-09 17:45:51 -0700424 fileName: 'VM_BM'
425
426 - 'pipeline-trigger':
427 machine: 'fabric'
Jon Hall9017d2e2018-06-11 12:04:52 -0700428 testList: |
429 {SR}
430 {SRHA}
Devin Lim3e15df62018-05-09 17:45:51 -0700431 fileName: 'Fabric'
Devin Lim7a877872018-01-16 14:50:57 -0800432
433- project:
434 name: build-pipeline
435
436 <<: *job-type-plate
437
438 project-name: '{type}-pipeline'
439
Devin Lim49200ec2018-01-19 16:17:41 -0800440 <<: *test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -0800441 <<: *job-version-plate
442
443 jobs:
444 - '{type}-pipeline-{version}'
445
446- project:
447 name: graph-generator
448
449 project-name: 'graph-generator'
450
Devin Lim49200ec2018-01-19 16:17:41 -0800451 <<: *test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -0800452
453 jobs:
454 - 'manual-graph-generator-SCPF'
455 - 'manual-graph-generator-trend'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800456 - 'manual-graph-generator-overall'
Devin Lim02197b22018-05-10 17:09:38 -0700457 - 'graph-generator-CHO'