blob: 996f05924dbedf46f29eebeeb42682b5a69b8a07 [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'
You Wangbefeecf2018-11-09 15:06:57 -080041 - '1.15'
You Wang30ff7442018-12-21 14:11:27 -080042 - '2.0'
You Wang6eae0a42019-04-22 16:25:24 -070043 - '2.1'
Jeremy Ronquillob3ddd592019-08-14 15:19:45 -070044 - '2.2'
Devin Lim7a877872018-01-16 14:50:57 -080045 - 'master'
46 - 'manually'
47
48- job-type-plate: &job-type-plate
49 name: job-type-plate
50 type:
51 - 'FUNC'
52 - 'HA'
53 - 'SCPF'
54 - 'USECASE'
Devin Lim323c9872018-01-30 19:57:58 -080055 - 'SR'
Jon Hall9017d2e2018-06-11 12:04:52 -070056 - 'SRHA'
Devin Lim7a877872018-01-16 14:50:57 -080057
Devin Lim74cf6cb2018-01-12 15:03:34 -080058- job-template:
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -070059 name: 'master-trigger'
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -080060 description: |
61 <!-- Managed by Jenkins Job Builder -->
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -070062 master-trigger can trigger TestON tests on any branches of ONOS and TestON, by running the test category pipeline that contains the test. <br />
Devin Lim1c4753e2018-03-23 15:31:38 -070063 This pipeline is triggered by timer for the nightly builds. <br />
64 You may manually trigger this pipeline as well - provide the tests to run and the branch of ONOS and TestON. <br /> <br />
65 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 -070066 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 -070067 Created by Devin Lim - devin@opennetworking.org<br />
68 Copyright (c) 2017 Open Networking Foundation (ONF)
69
Devin Lim1c4753e2018-03-23 15:31:38 -070070 <<: *test-pipe-job-boiler-plate
71
72 parameters:
73
74 - bool:
75 name: manual_run
76 default: false
77 description: |
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -070078 Check this option if you are manually running this job. <br />
79 You must specify which tests to run in the text field below. <br />
80 Leave this unchecked if simulating a nightly test run.
81
82 - string:
Jeremy Ronquillofc9868d2019-07-29 12:00:02 -070083 name: TimeOut
84 default: '1410'
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -070085 description: |
Jeremy Ronquillofc9868d2019-07-29 12:00:02 -070086 Minutes until the entire pipeline times out. Default: 23 hours 30 minutes. This value is also passed to the downstream jobs.
Devin Lim1c4753e2018-03-23 15:31:38 -070087
88 - bool:
89 name: PostResult
90 default: false
91 description: |
92 Check this option if you want to update the results on the wiki. <br />
93 When manually run, this will update the wiki pages corresponding to the tests that were run. <br />
94 This option will always be selected during nightly builds.
95
Jeremy Ronquilloacef4582019-05-31 13:22:55 -070096 - text:
97 name: branches
Jeremy Ronquillofc9868d2019-07-29 12:00:02 -070098 default: ""
99 description: "ONOS and TestON version to run on."
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700100
101 - text:
102 name: Tests
103 default: ""
104 description: 'Specify the tests you want to run, if manual_run is selected.'
Devin Lim1c4753e2018-03-23 15:31:38 -0700105
106 - string:
Jeremy Ronquillofc9868d2019-07-29 12:00:02 -0700107 name: simulate_day
108 default: ""
109 description: |
110 Enter a day prefix (first 3 letters of a day, lowercase) to simulate running a nightly test on that day. Leave this field empty to default to today.<br />
111 The "manual_run" parameter must not be selected for this to take effect.
112
113 - string:
You Wang8a605bc2019-01-03 10:48:45 -0800114 name: ONOSJAVAOPTS
You Wang2e8ef572019-05-20 16:05:17 -0700115 default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Dkaraf.log.console=INFO -Dds.lock.timeout.milliseconds=60000}}\""
You Wang8a605bc2019-01-03 10:48:45 -0800116 description: 'ONOS cell JAVA_OPTS setting.'
Devin Lim1c4753e2018-03-23 15:31:38 -0700117
118 - string:
119 name: ONOSTag
120 default: ''
121 desciption: 'specific branch trying to checkout'
122
Devin Lim1c4753e2018-03-23 15:31:38 -0700123 - lf-infra-parameters:
124 project: 'OnosSystemTest'
125 branch: 'master'
126 stream: 'master'
127 lftools-version: '<1.0.0'
128
Jeremy Ronquillofc9868d2019-07-29 12:00:02 -0700129 concurrent: true
Devin Lim1c4753e2018-03-23 15:31:38 -0700130
Jeremy Ronquilloacef4582019-05-31 13:22:55 -0700131 triggers:
132 - timed: |
133 TZ=America/Los_Angeles
134 30 19 * * 1,2,3,4,5
135 30 11 * * 6,7
136
Devin Lim1c4753e2018-03-23 15:31:38 -0700137 pipeline-scm:
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -0700138 script-path: '{jenkins-path}/MasterTrigger.groovy'
Devin Lim1c4753e2018-03-23 15:31:38 -0700139 scm:
140 - git:
141 url: '{gitURL}'
142 branches:
143 - 'master'
144
145- job-template:
Devin Lim7a877872018-01-16 14:50:57 -0800146 name: '{type}-pipeline-{version}'
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700147 description: |
148 <!-- Managed by Jenkins Job Builder -->
Jeremy Ronquilloae3c7692018-03-05 08:47:05 -0800149 This pipeline contains the test results and logs of {type} on ONOS {version}. <br /><br />
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700150 Visit <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> to trigger a build in this pipeline.<br />
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700151 Wiki graphs may also be refreshed here. <br /><br />
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800152 Created by Devin Lim - devin@opennetworking.org<br />
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700153 Copyright (c) 2017 Open Networking Foundation (ONF)
Devin Lim7a877872018-01-16 14:50:57 -0800154
Devin Lim49200ec2018-01-19 16:17:41 -0800155 <<: *test-pipe-job-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800156
157 parameters:
158
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700159 - bool:
160 name: 'OnlyRefreshGraphs'
161 default: false
162 description: "Check this option to refresh the graphs without running any of the tests."
Devin Lim7a877872018-01-16 14:50:57 -0800163
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700164 - string:
Jeremy Ronquillofc9868d2019-07-29 12:00:02 -0700165 name: 'TimeOut'
166 default: '1410'
167 description: 'Minutes until the entire pipeline times out. Default: 23 hours 30 minutes. This value is usually passed from the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'
168
169 - string:
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700170 name: 'TestStation'
171 default: ''
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700172 description: 'Name of the test station to run this pipeline. Example: "TestStation-VMs".'
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700173
174 - string:
175 name: 'NodeLabel'
176 default: ''
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700177 description: 'Node label of the test station that runs this pipeline. Example: "VM".'
178
Jeremy Ronquillofc9868d2019-07-29 12:00:02 -0700179 - text:
180 name: 'TestsOverride'
181 default: ''
182 description: "Add a list of tests here to run, which overrides the test list from the .property file."
183
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700184 - string:
185 name: 'Category'
186 default: '{type}'
187 description: 'Category of the pipeline. Not recommended to modify. Primarily used when triggered by the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'
188
189 - string:
190 name: 'Branch'
191 default: '{version}'
192 description: 'Branch of the pipeline. Not recommended to modify. Primarily used when triggered by the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700193
Devin Lim7a877872018-01-16 14:50:57 -0800194 - lf-infra-parameters:
195 project: 'OnosSystemTest'
196 branch: 'master'
197 stream: 'master'
198 lftools-version: '<1.0.0'
199
200 concurrent: false
201
202 pipeline-scm:
Jeremy Ronquillo74735c52019-06-26 10:01:23 -0700203 script-path: '{jenkins-path}/CommonJenkinsFile.groovy'
Devin Lim7a877872018-01-16 14:50:57 -0800204 scm:
205 - git:
Devin Limca864a12018-02-09 11:25:30 -0800206 url: '{gitURL}'
Devin Lim7a877872018-01-16 14:50:57 -0800207 branches:
208 - 'master'
209
210- job-template:
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800211 name: 'manual-graph-generator-overall'
212 description: |
213 <!-- Managed by Jenkins Job Builder -->
214 Refresh the overall graphs here. Useful when there is a change in the graph scripts. <br />
215 Graphs are stored in pipeline-postjob-vm.
216
217 <<: *test-pipe-job-boiler-plate
218
219 parameters:
220 - choice:
221 name: ONOSbranch
222 choices:
223 - 'master'
Jeremy Ronquillob3ddd592019-08-14 15:19:45 -0700224 - 'onos-2.2'
You Wang6eae0a42019-04-22 16:25:24 -0700225 - 'onos-2.1'
You Wang30ff7442018-12-21 14:11:27 -0800226 - 'onos-2.0'
You Wangbefeecf2018-11-09 15:06:57 -0800227 - 'onos-1.15'
You Wang7ab523d2018-08-20 15:03:43 -0700228 - 'onos-1.14'
Devin Lim7550e022018-04-13 18:31:02 -0700229 - 'onos-1.13'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800230 - 'onos-1.12'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800231 description: "Possible branches (may vary depending on test)"
232
233 - lf-infra-parameters:
234 project: 'OnosSystemTest'
235 branch: 'master'
236 stream: 'master'
237 lftools-version: '<1.0.0'
238
239 pipeline-scm:
240 script-path: '{jenkins-path}/Overall_Graph_Generator'
241 scm:
242 - git:
243 url: '{gitURL}'
244 branches:
245 - 'master'
246
Devin Lim02197b22018-05-10 17:09:38 -0700247- job-template:
248 name: 'graph-generator-CHO'
249 description: |
250 <!-- Managed by Jenkins Job Builder -->
251 Generates the CHO graphs. <br />
252 Graphs are stored in pipeline-postjob-cho.
253
254 <<: *test-pipe-job-boiler-plate
255
256 parameters:
257 - text:
258 name: ONOSbranch
259 default: |
You Wang273f3b02019-02-06 16:41:51 -0800260 onos-1.15
Devin Lim02197b22018-05-10 17:09:38 -0700261 description: "Branch of the onos"
262
Devin Lime48c6dd2018-05-14 13:58:21 -0700263 - choice:
264 name: hours
265 choices:
266 - '168'
267 - '72'
268 description: "Hours of data to display."
269
Devin Lim02197b22018-05-10 17:09:38 -0700270 - lf-infra-parameters:
271 project: 'OnosSystemTest'
272 branch: 'master'
273 stream: 'master'
274 lftools-version: '<1.0.0'
Devin Lime91edd42018-05-11 15:50:09 -0700275 triggers:
276 - timed: 'H/60 * * * *'
Devin Lim02197b22018-05-10 17:09:38 -0700277 pipeline-scm:
278 script-path: '{jenkins-path}/CHO_Graph_Generator'
279 scm:
280 - git:
281 url: '{gitURL}'
282 branches:
283 - 'master'
284
Jeremy Ronquilloc665e572019-05-09 17:18:47 -0700285- job-template:
286 name: 'generate_wiki_pages'
287 description: |
288 <!-- Managed by Jenkins Job Builder -->
289 <p>When there is a new version of ONOS about to release, run this job multiple times in the
290 following order to create all necessary test result wiki pages.</p>
291 <p>How to run this job:</p><ol>
292 <li>First, run the job with the following parameters to generate only the <b>top-level
293 result page</b> for that version:<ul>
294 <li>top_level_page_id: -1</li>
295 <li>SCPF_page_id: -1</li>
296 <li>USECASE_page_id: -1</li>
297 </ul>
298 <li>Second, get the pageID of the top-level result page just generated, and run
299 this job again with "top_level_page_id" as the known pageID to generate the <b>test
300 category front pages</b>.<ul>
301 <li>top_level_page_id: <i>page ID of top-level result page</i> </li>
302 <li>SCPF_page_id: -1</li>
303 <li>USECASE_page_id: -1</li>
304 </ul>
305 <li>Next, get the pageID of the SCPF result page just generated, and run
306 this job again with "SCPF_page_id" as the known pageID to generate <b>SCPF individual
307 result pages</b>.<ul>
308 <li>top_level_page_id: -1</li>
309 <li>SCPF_page_id: <i>page ID of SCPF result page</i></li>
310 <li>USECASE_page_id: -1</li>
311 </ul>
312 <li>Finally, get the pageID of the USECASE result page, and run
313 this job again with "USECASE_page_id" as the known pageID to generate the <b>SR results
314 page</b>.<ul>
315 <li>top_level_page_id: -1</li>
316 <li>SCPF_page_id: -1</li>
317 <li>USECASE_page_id: <i>page ID of USECASE result page</i></li>
318 </ul>
319 </ol>
320
Jeremy Ronquilloaf610ce2019-05-17 13:39:49 -0700321 <<: *test-pipe-job-boiler-plate
Jeremy Ronquilloc665e572019-05-09 17:18:47 -0700322
Jeremy Ronquilloaf610ce2019-05-17 13:39:49 -0700323 parameters:
Jeremy Ronquilloc665e572019-05-09 17:18:47 -0700324 - string:
325 name: version
326 default: ''
327 description: |
328 <p>The version of ONOS to create wiki pages.</p>
329 <p>Must be in the format: #.## <br /> Example: "1.15"</p>
330 <p><b>DO NOT PREFIX WITH "ONOS-" OR "onos-".</b></p>
331
332 - string:
333 name: bird
334 default: ''
335 description: |
336 <p>The name of the bird representing the ONOS release.
337 This is used for the title of the version top-level result page.<br />
338 Example: "Peacock"</p>
339
340 - string:
341 name: top_level_page_id
342 default: '-1'
343 description: |
344 <p>If you know the page ID for the version top-level result page, add that here.
345 This will publish the test category pages (FUNC, HA, etc.) as child pages.<br />
346 Example: "31556529" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556529">ONOS-1.15 (Peacock)</a><br />
347 Example: "-1" means the page does not exist yet or is not needed for this run.
348 </p>
349
350 - string:
351 name: SCPF_page_id
352 default: '-1'
353 description: |
354 <p>If you know the page ID for the SCPF results front page, add that here.
355 This will publish the SCPF individual test child pages.<br />
356 Example: "31556549" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556549">1.15-Performance and Scale-out</a><br />
357 Example: "-1" means the page does not exist yet or is not needed for this run.
358 </p>
359
360 - string:
361 name: USECASE_page_id
362 default: '-1'
363 description: |
364 <p>If you know the page ID for the USECASE results front page, add that here.
365 This will publish the SR front page as a child page.<br />
366 Example: "31556579" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556579">1.15-USECASE</a><br />
367 Example: "-1" means the page does not exist yet or is not needed for this run.
368 </p>
369
370
371 - lf-infra-parameters:
372 project: 'OnosSystemTest'
373 branch: 'master'
374 stream: 'master'
375 lftools-version: '<1.0.0'
376
377 pipeline-scm:
378 script-path: '{jenkins-path}/generateReleaseTestONWiki.groovy'
379 scm:
380 - git:
381 url: '{gitURL}'
382 branches:
383 - 'master'
384
Jeremy Ronquillo64026c32019-06-17 12:54:16 -0700385- job-template:
386 name: 'generate_automated_schedule_wiki'
387 description: |
388 <!-- Managed by Jenkins Job Builder -->
389 <p>Build this job to refresh the <a href="https://wiki.onosproject.org/display/ONOS/Automated+Test+Schedule">Automated Test Schedule</a> on the ONOS Wiki.</p>
390
391 <<: *test-pipe-job-boiler-plate
392
393 pipeline-scm:
394 script-path: '{jenkins-path}/generateWikiTestList.groovy'
395 scm:
396 - git:
397 url: '{gitURL}'
398 branches:
399 - 'master'
400
Devin Lim38d14062018-01-11 17:08:00 -0800401- project:
Devin Lim1c4753e2018-03-23 15:31:38 -0700402 name: pipeline-trigger
403 project-name: pipeline-trigger
Devin Lim7a877872018-01-16 14:50:57 -0800404
Devin Lim49200ec2018-01-19 16:17:41 -0800405 <<: *test-pipe-init-procedure-plate
Devin Lim3e15df62018-05-09 17:45:51 -0700406 <<: *var-init-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800407
Devin Lim38d14062018-01-11 17:08:00 -0800408 jobs:
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -0700409 - 'master-trigger'
Devin Lim7a877872018-01-16 14:50:57 -0800410
411- project:
412 name: build-pipeline
413
414 <<: *job-type-plate
415
416 project-name: '{type}-pipeline'
417
Devin Lim49200ec2018-01-19 16:17:41 -0800418 <<: *test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -0800419 <<: *job-version-plate
420
421 jobs:
422 - '{type}-pipeline-{version}'
423
424- project:
425 name: graph-generator
426
427 project-name: 'graph-generator'
428
Devin Lim49200ec2018-01-19 16:17:41 -0800429 <<: *test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -0800430
431 jobs:
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800432 - 'manual-graph-generator-overall'
Devin Lim02197b22018-05-10 17:09:38 -0700433 - 'graph-generator-CHO'
Jeremy Ronquilloaf610ce2019-05-17 13:39:49 -0700434
435- project:
436 name: generate-wiki-pages
437
438 project-name: 'generate-wiki-pages'
439
440 <<: *test-pipe-init-procedure-plate
441
Jeremy Ronquillo63c6fab2019-08-12 16:26:14 -0700442 properties:
443 - 'disable-resume'
444
Jeremy Ronquilloaf610ce2019-05-17 13:39:49 -0700445 jobs:
446 - 'generate_wiki_pages'
Jeremy Ronquilloa2b380c2019-06-20 13:58:49 -0700447 - 'generate_automated_schedule_wiki'