blob: 80e6238142394435fcc8716b403601ac38b658a3 [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'
Devin Lim7a877872018-01-16 14:50:57 -080044 - 'master'
45 - 'manually'
46
47- job-type-plate: &job-type-plate
48 name: job-type-plate
49 type:
50 - 'FUNC'
51 - 'HA'
52 - 'SCPF'
53 - 'USECASE'
Devin Lim323c9872018-01-30 19:57:58 -080054 - 'SR'
Jon Hall9017d2e2018-06-11 12:04:52 -070055 - 'SRHA'
Devin Lim7a877872018-01-16 14:50:57 -080056
Devin Lim74cf6cb2018-01-12 15:03:34 -080057- job-template:
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -070058 name: 'master-trigger'
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -080059 description: |
60 <!-- Managed by Jenkins Job Builder -->
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -070061 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 -070062 This pipeline is triggered by timer for the nightly builds. <br />
63 You may manually trigger this pipeline as well - provide the tests to run and the branch of ONOS and TestON. <br /> <br />
64 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 -070065 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 -070066 Created by Devin Lim - devin@opennetworking.org<br />
67 Copyright (c) 2017 Open Networking Foundation (ONF)
68
Devin Lim1c4753e2018-03-23 15:31:38 -070069 <<: *test-pipe-job-boiler-plate
70
71 parameters:
72
73 - bool:
74 name: manual_run
75 default: false
76 description: |
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -070077 Check this option if you are manually running this job. <br />
78 You must specify which tests to run in the text field below. <br />
79 Leave this unchecked if simulating a nightly test run.
80
81 - string:
82 name: simulate_day
83 default: ""
84 description: |
85 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 />
86 The "manual_run" parameter must not be selected for this to take effect.
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
96 - bool:
97 name: isOldFlow
98 default: true
99 description: |
100 Check this option if you prefer to run the old flow rule over the new one. <br />
101 * This only applies to SCPF tests.
102
Jeremy Ronquilloacef4582019-05-31 13:22:55 -0700103 - text:
104 name: branches
105 default: |
106 master
107 2.1
108 2.0
109 1.15
110 1.14
111 1.13
112 1.12
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700113 description: "ONOS and TestON versions to run on."
114
115 - text:
116 name: Tests
117 default: ""
118 description: 'Specify the tests you want to run, if manual_run is selected.'
Devin Lim1c4753e2018-03-23 15:31:38 -0700119
120 - string:
You Wang8a605bc2019-01-03 10:48:45 -0800121 name: ONOSJAVAOPTS
You Wang2e8ef572019-05-20 16:05:17 -0700122 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 -0800123 description: 'ONOS cell JAVA_OPTS setting.'
Devin Lim1c4753e2018-03-23 15:31:38 -0700124
125 - string:
126 name: ONOSTag
127 default: ''
128 desciption: 'specific branch trying to checkout'
129
Devin Lim1c4753e2018-03-23 15:31:38 -0700130 - lf-infra-parameters:
131 project: 'OnosSystemTest'
132 branch: 'master'
133 stream: 'master'
134 lftools-version: '<1.0.0'
135
136 concurrent: false
137
Jeremy Ronquilloacef4582019-05-31 13:22:55 -0700138 triggers:
139 - timed: |
140 TZ=America/Los_Angeles
141 30 19 * * 1,2,3,4,5
142 30 11 * * 6,7
143
Devin Lim1c4753e2018-03-23 15:31:38 -0700144 pipeline-scm:
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -0700145 script-path: '{jenkins-path}/MasterTrigger.groovy'
Devin Lim1c4753e2018-03-23 15:31:38 -0700146 scm:
147 - git:
148 url: '{gitURL}'
149 branches:
150 - 'master'
151
152- job-template:
Devin Lim7a877872018-01-16 14:50:57 -0800153 name: '{type}-pipeline-{version}'
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700154 description: |
155 <!-- Managed by Jenkins Job Builder -->
Jeremy Ronquilloae3c7692018-03-05 08:47:05 -0800156 This pipeline contains the test results and logs of {type} on ONOS {version}. <br /><br />
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700157 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 -0700158 Wiki graphs may also be refreshed here. <br /><br />
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800159 Created by Devin Lim - devin@opennetworking.org<br />
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700160 Copyright (c) 2017 Open Networking Foundation (ONF)
Devin Lim7a877872018-01-16 14:50:57 -0800161
Devin Lim49200ec2018-01-19 16:17:41 -0800162 <<: *test-pipe-job-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800163
164 parameters:
165
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700166 - text:
167 name: 'TestsOverride'
168 default: ''
169 description: "Add a list of tests here to run, which overrides the test list from the .property file."
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -0700170
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700171 - bool:
172 name: 'OnlyRefreshGraphs'
173 default: false
174 description: "Check this option to refresh the graphs without running any of the tests."
Devin Lim7a877872018-01-16 14:50:57 -0800175
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700176 - string:
177 name: 'TestStation'
178 default: ''
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700179 description: 'Name of the test station to run this pipeline. Example: "TestStation-VMs".'
Jeremy Ronquillo994df442019-07-09 16:18:01 -0700180
181 - string:
182 name: 'NodeLabel'
183 default: ''
Jeremy Ronquillobc50af82019-07-12 15:51:42 -0700184 description: 'Node label of the test station that runs this pipeline. Example: "VM".'
185
186 - string:
187 name: 'Category'
188 default: '{type}'
189 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.'
190
191 - string:
192 name: 'Branch'
193 default: '{version}'
194 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 -0700195
Devin Lim7a877872018-01-16 14:50:57 -0800196 - lf-infra-parameters:
197 project: 'OnosSystemTest'
198 branch: 'master'
199 stream: 'master'
200 lftools-version: '<1.0.0'
201
202 concurrent: false
203
204 pipeline-scm:
Jeremy Ronquillo74735c52019-06-26 10:01:23 -0700205 script-path: '{jenkins-path}/CommonJenkinsFile.groovy'
Devin Lim7a877872018-01-16 14:50:57 -0800206 scm:
207 - git:
Devin Limca864a12018-02-09 11:25:30 -0800208 url: '{gitURL}'
Devin Lim7a877872018-01-16 14:50:57 -0800209 branches:
210 - 'master'
211
212- job-template:
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800213 name: 'manual-graph-generator-overall'
214 description: |
215 <!-- Managed by Jenkins Job Builder -->
216 Refresh the overall graphs here. Useful when there is a change in the graph scripts. <br />
217 Graphs are stored in pipeline-postjob-vm.
218
219 <<: *test-pipe-job-boiler-plate
220
221 parameters:
222 - choice:
223 name: ONOSbranch
224 choices:
225 - 'master'
You Wang6eae0a42019-04-22 16:25:24 -0700226 - 'onos-2.1'
You Wang30ff7442018-12-21 14:11:27 -0800227 - 'onos-2.0'
You Wangbefeecf2018-11-09 15:06:57 -0800228 - 'onos-1.15'
You Wang7ab523d2018-08-20 15:03:43 -0700229 - 'onos-1.14'
Devin Lim7550e022018-04-13 18:31:02 -0700230 - 'onos-1.13'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800231 - 'onos-1.12'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800232 description: "Possible branches (may vary depending on test)"
233
234 - lf-infra-parameters:
235 project: 'OnosSystemTest'
236 branch: 'master'
237 stream: 'master'
238 lftools-version: '<1.0.0'
239
240 pipeline-scm:
241 script-path: '{jenkins-path}/Overall_Graph_Generator'
242 scm:
243 - git:
244 url: '{gitURL}'
245 branches:
246 - 'master'
247
Devin Lim02197b22018-05-10 17:09:38 -0700248- job-template:
249 name: 'graph-generator-CHO'
250 description: |
251 <!-- Managed by Jenkins Job Builder -->
252 Generates the CHO graphs. <br />
253 Graphs are stored in pipeline-postjob-cho.
254
255 <<: *test-pipe-job-boiler-plate
256
257 parameters:
258 - text:
259 name: ONOSbranch
260 default: |
You Wang273f3b02019-02-06 16:41:51 -0800261 onos-1.15
Devin Lim02197b22018-05-10 17:09:38 -0700262 description: "Branch of the onos"
263
Devin Lime48c6dd2018-05-14 13:58:21 -0700264 - choice:
265 name: hours
266 choices:
267 - '168'
268 - '72'
269 description: "Hours of data to display."
270
Devin Lim02197b22018-05-10 17:09:38 -0700271 - lf-infra-parameters:
272 project: 'OnosSystemTest'
273 branch: 'master'
274 stream: 'master'
275 lftools-version: '<1.0.0'
Devin Lime91edd42018-05-11 15:50:09 -0700276 triggers:
277 - timed: 'H/60 * * * *'
Devin Lim02197b22018-05-10 17:09:38 -0700278 pipeline-scm:
279 script-path: '{jenkins-path}/CHO_Graph_Generator'
280 scm:
281 - git:
282 url: '{gitURL}'
283 branches:
284 - 'master'
285
Jeremy Ronquilloc665e572019-05-09 17:18:47 -0700286- job-template:
287 name: 'generate_wiki_pages'
288 description: |
289 <!-- Managed by Jenkins Job Builder -->
290 <p>When there is a new version of ONOS about to release, run this job multiple times in the
291 following order to create all necessary test result wiki pages.</p>
292 <p>How to run this job:</p><ol>
293 <li>First, run the job with the following parameters to generate only the <b>top-level
294 result page</b> for that version:<ul>
295 <li>top_level_page_id: -1</li>
296 <li>SCPF_page_id: -1</li>
297 <li>USECASE_page_id: -1</li>
298 </ul>
299 <li>Second, get the pageID of the top-level result page just generated, and run
300 this job again with "top_level_page_id" as the known pageID to generate the <b>test
301 category front pages</b>.<ul>
302 <li>top_level_page_id: <i>page ID of top-level result page</i> </li>
303 <li>SCPF_page_id: -1</li>
304 <li>USECASE_page_id: -1</li>
305 </ul>
306 <li>Next, get the pageID of the SCPF result page just generated, and run
307 this job again with "SCPF_page_id" as the known pageID to generate <b>SCPF individual
308 result pages</b>.<ul>
309 <li>top_level_page_id: -1</li>
310 <li>SCPF_page_id: <i>page ID of SCPF result page</i></li>
311 <li>USECASE_page_id: -1</li>
312 </ul>
313 <li>Finally, get the pageID of the USECASE result page, and run
314 this job again with "USECASE_page_id" as the known pageID to generate the <b>SR results
315 page</b>.<ul>
316 <li>top_level_page_id: -1</li>
317 <li>SCPF_page_id: -1</li>
318 <li>USECASE_page_id: <i>page ID of USECASE result page</i></li>
319 </ul>
320 </ol>
321
Jeremy Ronquilloaf610ce2019-05-17 13:39:49 -0700322 <<: *test-pipe-job-boiler-plate
Jeremy Ronquilloc665e572019-05-09 17:18:47 -0700323
Jeremy Ronquilloaf610ce2019-05-17 13:39:49 -0700324 parameters:
Jeremy Ronquilloc665e572019-05-09 17:18:47 -0700325 - string:
326 name: version
327 default: ''
328 description: |
329 <p>The version of ONOS to create wiki pages.</p>
330 <p>Must be in the format: #.## <br /> Example: "1.15"</p>
331 <p><b>DO NOT PREFIX WITH "ONOS-" OR "onos-".</b></p>
332
333 - string:
334 name: bird
335 default: ''
336 description: |
337 <p>The name of the bird representing the ONOS release.
338 This is used for the title of the version top-level result page.<br />
339 Example: "Peacock"</p>
340
341 - string:
342 name: top_level_page_id
343 default: '-1'
344 description: |
345 <p>If you know the page ID for the version top-level result page, add that here.
346 This will publish the test category pages (FUNC, HA, etc.) as child pages.<br />
347 Example: "31556529" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556529">ONOS-1.15 (Peacock)</a><br />
348 Example: "-1" means the page does not exist yet or is not needed for this run.
349 </p>
350
351 - string:
352 name: SCPF_page_id
353 default: '-1'
354 description: |
355 <p>If you know the page ID for the SCPF results front page, add that here.
356 This will publish the SCPF individual test child pages.<br />
357 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 />
358 Example: "-1" means the page does not exist yet or is not needed for this run.
359 </p>
360
361 - string:
362 name: USECASE_page_id
363 default: '-1'
364 description: |
365 <p>If you know the page ID for the USECASE results front page, add that here.
366 This will publish the SR front page as a child page.<br />
367 Example: "31556579" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556579">1.15-USECASE</a><br />
368 Example: "-1" means the page does not exist yet or is not needed for this run.
369 </p>
370
371
372 - lf-infra-parameters:
373 project: 'OnosSystemTest'
374 branch: 'master'
375 stream: 'master'
376 lftools-version: '<1.0.0'
377
378 pipeline-scm:
379 script-path: '{jenkins-path}/generateReleaseTestONWiki.groovy'
380 scm:
381 - git:
382 url: '{gitURL}'
383 branches:
384 - 'master'
385
Jeremy Ronquillo64026c32019-06-17 12:54:16 -0700386- job-template:
387 name: 'generate_automated_schedule_wiki'
388 description: |
389 <!-- Managed by Jenkins Job Builder -->
390 <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>
391
392 <<: *test-pipe-job-boiler-plate
393
394 pipeline-scm:
395 script-path: '{jenkins-path}/generateWikiTestList.groovy'
396 scm:
397 - git:
398 url: '{gitURL}'
399 branches:
400 - 'master'
401
Devin Lim38d14062018-01-11 17:08:00 -0800402- project:
Devin Lim1c4753e2018-03-23 15:31:38 -0700403 name: pipeline-trigger
404 project-name: pipeline-trigger
Devin Lim7a877872018-01-16 14:50:57 -0800405
Devin Lim49200ec2018-01-19 16:17:41 -0800406 <<: *test-pipe-init-procedure-plate
Devin Lim3e15df62018-05-09 17:45:51 -0700407 <<: *var-init-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800408
Devin Lim38d14062018-01-11 17:08:00 -0800409 jobs:
Jeremy Ronquilloa54ecad2019-06-14 09:36:21 -0700410 - 'master-trigger'
Devin Lim7a877872018-01-16 14:50:57 -0800411
412- project:
413 name: build-pipeline
414
415 <<: *job-type-plate
416
417 project-name: '{type}-pipeline'
418
Devin Lim49200ec2018-01-19 16:17:41 -0800419 <<: *test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -0800420 <<: *job-version-plate
421
422 jobs:
423 - '{type}-pipeline-{version}'
424
425- project:
426 name: graph-generator
427
428 project-name: 'graph-generator'
429
Devin Lim49200ec2018-01-19 16:17:41 -0800430 <<: *test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -0800431
432 jobs:
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800433 - 'manual-graph-generator-overall'
Devin Lim02197b22018-05-10 17:09:38 -0700434 - 'graph-generator-CHO'
Jeremy Ronquilloaf610ce2019-05-17 13:39:49 -0700435
436- project:
437 name: generate-wiki-pages
438
439 project-name: 'generate-wiki-pages'
440
441 <<: *test-pipe-init-procedure-plate
442
443 jobs:
444 - 'generate_wiki_pages'
Jeremy Ronquilloa2b380c2019-06-20 13:58:49 -0700445 - 'generate_automated_schedule_wiki'