blob: fe0f579979a50735a176f18f5d4f2c18a3dd684f [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"
Devin Lim38d14062018-01-11 17:08:00 -080013
Devin Lim49200ec2018-01-19 16:17:41 -080014- test-pipe-job-boiler-plate: &test-pipe-job-boiler-plate
15 name: test-pipe-job-boiler-plate
Devin Lim38d14062018-01-11 17:08:00 -080016
17 project-type: pipeline
18
19 sandbox: true
20
Devin Lim38d14062018-01-11 17:08:00 -080021 properties:
22
23 - build-discarder:
24 num-to-keep: 20
Devin Limca864a12018-02-09 11:25:30 -080025 gitURL: https://gerrit.onosproject.org/OnosSystemTest
Devin Lim38d14062018-01-11 17:08:00 -080026
Devin Lim49200ec2018-01-19 16:17:41 -080027- test-pipe-init-procedure-plate: &test-pipe-init-procedure-plate
28 name: test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -080029 project: OnosSystemTest
30 stream: 'master'
31 jenkins-path: 'TestON/JenkinsFile'
32
33- job-version-plate: &job-version-plate
34 name: job-version-plate
35 version:
36 - '1.11'
37 - '1.12'
Devin Lim7550e022018-04-13 18:31:02 -070038 - '1.13'
Devin Lim7a877872018-01-16 14:50:57 -080039 - 'master'
40 - 'manually'
41
42- job-type-plate: &job-type-plate
43 name: job-type-plate
44 type:
45 - 'FUNC'
46 - 'HA'
47 - 'SCPF'
48 - 'USECASE'
Devin Lim323c9872018-01-30 19:57:58 -080049 - 'SR'
Devin Lim7a877872018-01-16 14:50:57 -080050
Devin Lim74cf6cb2018-01-12 15:03:34 -080051- job-template:
Devin Lim38d14062018-01-11 17:08:00 -080052 name: all-pipeline-trigger
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -080053 description: |
54 <!-- Managed by Jenkins Job Builder -->
Devin Lim1c4753e2018-03-23 15:31:38 -070055 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 -080056 This pipeline is triggered by timer for the nightly builds. <br />
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -080057 Created by Devin Lim - devin@opennetworking.org<br />
58 Copyright (c) 2017 Open Networking Foundation (ONF)
Devin Lim38d14062018-01-11 17:08:00 -080059
Devin Lim49200ec2018-01-19 16:17:41 -080060 <<: *test-pipe-job-boiler-plate
Devin Lim38d14062018-01-11 17:08:00 -080061
Devin Lim7a877872018-01-16 14:50:57 -080062 parameters:
Devin Lim74cf6cb2018-01-12 15:03:34 -080063
Devin Lim74cf6cb2018-01-12 15:03:34 -080064 - text:
Devin Lim3e15df62018-05-09 17:45:51 -070065 name: machines
Devin Lim7a877872018-01-16 14:50:57 -080066 default: |
Devin Lim3e15df62018-05-09 17:45:51 -070067 vm
68 bm
69 fabric
70 description: 'Specify the machine-trigger you want to run.'
Devin Lim38d14062018-01-11 17:08:00 -080071
Devin Lim7a877872018-01-16 14:50:57 -080072 - lf-infra-parameters:
73 project: 'OnosSystemTest'
74 branch: 'master'
75 stream: 'master'
76 lftools-version: '<1.0.0'
77
Devin Lim3e15df62018-05-09 17:45:51 -070078 concurrent: true
Devin Lim38d14062018-01-11 17:08:00 -080079
Devin Lim2b5ef2e2018-02-27 14:05:08 -080080 triggers:
81 - timed: |
Devin Lime625f9a2018-03-26 12:04:47 -070082 TZ=America/Los_Angeles
83 30 19 * * 1,2,3,4,5
84 30 11 * * 6,7
Devin Lim38d14062018-01-11 17:08:00 -080085
86 pipeline-scm:
Devin Lim7a877872018-01-16 14:50:57 -080087 script-path: '{jenkins-path}/JenkinsfileTrigger'
88 scm:
89 - git:
Devin Limca864a12018-02-09 11:25:30 -080090 url: '{gitURL}'
Devin Lim7a877872018-01-16 14:50:57 -080091 branches:
92 - 'master'
93
94- job-template:
Devin Lim3e15df62018-05-09 17:45:51 -070095 name: '{machine}-pipeline-trigger'
96 id: pipeline-trigger
Devin Lim1c4753e2018-03-23 15:31:38 -070097 description: |
98 <!-- Managed by Jenkins Job Builder -->
Devin Lim3e15df62018-05-09 17:45:51 -070099 {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 -0700100 This pipeline is triggered by timer for the nightly builds. <br />
101 You may manually trigger this pipeline as well - provide the tests to run and the branch of ONOS and TestON. <br /> <br />
102 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 -0700103 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 -0700104 Created by Devin Lim - devin@opennetworking.org<br />
105 Copyright (c) 2017 Open Networking Foundation (ONF)
106
Devin Lim1c4753e2018-03-23 15:31:38 -0700107 <<: *test-pipe-job-boiler-plate
108
109 parameters:
110
111 - bool:
112 name: manual_run
113 default: false
114 description: |
115 Check this option if you are manually running this job (you most likely are). <br />
116 You must specify which tests to run in the text field below.
117
118 - bool:
119 name: PostResult
120 default: false
121 description: |
122 Check this option if you want to update the results on the wiki. <br />
123 When manually run, this will update the wiki pages corresponding to the tests that were run. <br />
124 This option will always be selected during nightly builds.
125
126 - bool:
127 name: isOldFlow
128 default: true
129 description: |
130 Check this option if you prefer to run the old flow rule over the new one. <br />
131 * This only applies to SCPF tests.
132
133 - choice:
134 name: ONOSVersion
135 choices:
136 - 'master'
Devin Lim7550e022018-04-13 18:31:02 -0700137 - '1.13'
Devin Lim1c4753e2018-03-23 15:31:38 -0700138 - '1.12'
139 - '1.11'
140 description: "ONOS and TestON versions to run on."
141
142 - string:
143 name: ONOSJVMHeap
144 default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G}}\""
145 description: 'ONOS cell JVM heap size setting.'
146
147 - string:
148 name: ONOSTag
149 default: ''
150 desciption: 'specific branch trying to checkout'
151
152 - text:
153 name: Tests
154 default: |
Devin Lim3e15df62018-05-09 17:45:51 -0700155 {testList}
Devin Lim1c4753e2018-03-23 15:31:38 -0700156
157 description: 'Specify the tests you want to run, if manual_run is selected.'
158
159 - lf-infra-parameters:
160 project: 'OnosSystemTest'
161 branch: 'master'
162 stream: 'master'
163 lftools-version: '<1.0.0'
164
165 concurrent: false
166
Devin Lim1c4753e2018-03-23 15:31:38 -0700167 pipeline-scm:
Devin Lim3e15df62018-05-09 17:45:51 -0700168 script-path: '{jenkins-path}/{fileName}JenkinsfileTrigger'
Devin Lim1c4753e2018-03-23 15:31:38 -0700169 scm:
170 - git:
171 url: '{gitURL}'
172 branches:
173 - 'master'
174
175- job-template:
Devin Lim7a877872018-01-16 14:50:57 -0800176 name: '{type}-pipeline-{version}'
Jeremy Ronquilloae3c7692018-03-05 08:47:05 -0800177 description: '<!-- Managed by Jenkins Job Builder -->
178 This pipeline contains the test results and logs of {type} on ONOS {version}. <br /><br />
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800179 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 />
180 <font color="red">Unless debugging, DO NOT MANUALLY BUILD THIS PIPELINE.</font><br /><br />
181 Created by Devin Lim - devin@opennetworking.org<br />
Jeremy Ronquilloae3c7692018-03-05 08:47:05 -0800182 Copyright (c) 2017 Open Networking Foundation (ONF)'
Devin Lim7a877872018-01-16 14:50:57 -0800183
Devin Lim49200ec2018-01-19 16:17:41 -0800184 <<: *test-pipe-job-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800185
186 parameters:
187
188 - string:
189 name: TRIGGER_ONLY_WHEN_PREVIOUS_JOB_WAS_BUILT_HERE
190 default: 'DO_NOT_MANUALLY_TRIGGER_A_BUILD_HERE'
191 description: |
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800192 <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 -0800193
194 - 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:
203 script-path: '{jenkins-path}/{type}JenkinsFile'
204 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:
211 name: 'manual-graph-generator-SCPF'
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800212 description: |
213 <!-- Managed by Jenkins Job Builder -->
214 Refresh the wiki graphs here. Useful when there is a change in the graph scripts.<br />
215 <br />
216 You may also generate a graph trend that displays any number of builds here.<br />
217 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 >
218 <br >
219 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 -0800220
221 <<: *var-init-boiler-plate
Devin Lim49200ec2018-01-19 16:17:41 -0800222 <<: *test-pipe-job-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800223
224 parameters:
225
Devin Lim7a877872018-01-16 14:50:57 -0800226 - choice:
227 name: ONOSbranch
228 choices:
229 - 'master'
Devin Lim7550e022018-04-13 18:31:02 -0700230 - 'onos-1.13'
Devin Lim7a877872018-01-16 14:50:57 -0800231 - 'onos-1.12'
232 - 'onos-1.11'
233 description: "Possible branches (may vary depending on test)"
234
235 - bool:
Devin Lim397fa7c2018-04-13 16:25:01 -0700236 name: isOldFlow
Devin Lim7a877872018-01-16 14:50:57 -0800237 default: false
238 description: 'Check if it is using the old flow rules'
239
240 - text:
241 name: Test
242 default: '{SCPF}'
243 description: 'List of the tests to generate.'
244
245 - lf-infra-parameters:
246 project: 'OnosSystemTest'
247 branch: 'master'
248 stream: 'master'
249 lftools-version: '<1.0.0'
250
251 pipeline-scm:
252 script-path: '{jenkins-path}/SCPF_Graph_Generator'
253 scm:
254 - git:
Devin Limca864a12018-02-09 11:25:30 -0800255 url: '{gitURL}'
Devin Lim7a877872018-01-16 14:50:57 -0800256 branches:
257 - 'master'
258
259- job-template:
260 name: 'manual-graph-generator-trend'
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800261 description: |
262 <!-- Managed by Jenkins Job Builder -->
263 Refresh the trend graphs here. Useful when there is a change in the graph scripts. <br />
264 Graphs are stored in their respective Postjob pipeline.
265
Devin Lim7a877872018-01-16 14:50:57 -0800266
267 <<: *var-init-boiler-plate
Devin Lim49200ec2018-01-19 16:17:41 -0800268 <<: *test-pipe-job-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800269
270 parameters:
271
272 - choice:
273 name: ONOSbranch
274 choices:
275 - 'master'
Devin Lim7550e022018-04-13 18:31:02 -0700276 - 'onos-1.13'
Devin Lim7a877872018-01-16 14:50:57 -0800277 - 'onos-1.12'
278 - 'onos-1.11'
279 description: "Possible branches (may vary depending on test)"
280
281 - choice:
282 name: NodeCluster
283 choices:
284 - VM
285 - BM
Devin Lim80546912018-03-23 17:49:39 -0700286 - Fabric
Devin Lim7a877872018-01-16 14:50:57 -0800287 description: |
Jeremy Ronquillo34e993b2018-02-07 10:43:15 -0800288 Node cluster where the test graphs in the list are located. <br />
Devin Lim7a877872018-01-16 14:50:57 -0800289 List of the tests will be refreshed depends on the node cluster.
290
291 - text:
292 name: Test
293 default: |
294 VM:
295 {FUNC}
296 {HA}
297 BM:
298 {USECASE}
Devin Lim80546912018-03-23 17:49:39 -0700299 Fabric:
300 {SR}
Devin Lim7a877872018-01-16 14:50:57 -0800301 description: 'List of the tests to generate.'
302
303 - string:
304 name: Builds
Devin Lim72caaba2018-03-02 15:15:46 -0800305 default: '20'
Devin Lim7a877872018-01-16 14:50:57 -0800306 description: 'Builds to show in the graph.'
307
308 - lf-infra-parameters:
309 project: 'OnosSystemTest'
310 branch: 'master'
311 stream: 'master'
312 lftools-version: '<1.0.0'
313
314 pipeline-scm:
315 script-path: '{jenkins-path}/Trend_Graph_Generator'
Devin Lim38d14062018-01-11 17:08:00 -0800316 scm:
317 - git:
Devin Limca864a12018-02-09 11:25:30 -0800318 url: '{gitURL}'
Devin Lim38d14062018-01-11 17:08:00 -0800319 branches:
Devin Lim74cf6cb2018-01-12 15:03:34 -0800320 - 'master'
Devin Lim38d14062018-01-11 17:08:00 -0800321
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800322- job-template:
323 name: 'manual-graph-generator-overall'
324 description: |
325 <!-- Managed by Jenkins Job Builder -->
326 Refresh the overall graphs here. Useful when there is a change in the graph scripts. <br />
327 Graphs are stored in pipeline-postjob-vm.
328
329 <<: *test-pipe-job-boiler-plate
330
331 parameters:
332 - choice:
333 name: ONOSbranch
334 choices:
335 - 'master'
Devin Lim7550e022018-04-13 18:31:02 -0700336 - 'onos-1.13'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800337 - 'onos-1.12'
338 - 'onos-1.11'
339 description: "Possible branches (may vary depending on test)"
340
341 - lf-infra-parameters:
342 project: 'OnosSystemTest'
343 branch: 'master'
344 stream: 'master'
345 lftools-version: '<1.0.0'
346
347 pipeline-scm:
348 script-path: '{jenkins-path}/Overall_Graph_Generator'
349 scm:
350 - git:
351 url: '{gitURL}'
352 branches:
353 - 'master'
354
Devin Lim38d14062018-01-11 17:08:00 -0800355- project:
Devin Lim1c4753e2018-03-23 15:31:38 -0700356 name: pipeline-trigger
357 project-name: pipeline-trigger
Devin Lim7a877872018-01-16 14:50:57 -0800358
Devin Lim49200ec2018-01-19 16:17:41 -0800359 <<: *test-pipe-init-procedure-plate
Devin Lim3e15df62018-05-09 17:45:51 -0700360 <<: *var-init-boiler-plate
Devin Lim7a877872018-01-16 14:50:57 -0800361
Devin Lim38d14062018-01-11 17:08:00 -0800362 jobs:
363 - 'all-pipeline-trigger'
Devin Lim3e15df62018-05-09 17:45:51 -0700364 - 'pipeline-trigger':
365 machine: 'vm'
Devin Lim781a7552018-05-10 14:24:55 -0700366 testList: |
367 {FUNC}
368 {HA}
Devin Lim3e15df62018-05-09 17:45:51 -0700369 fileName: 'VM_BM'
370
371 - 'pipeline-trigger':
372 machine: 'bm'
Devin Lim781a7552018-05-10 14:24:55 -0700373 testList: |
374 {SCPF}
375 {USECASE}
Devin Lim3e15df62018-05-09 17:45:51 -0700376 fileName: 'VM_BM'
377
378 - 'pipeline-trigger':
379 machine: 'fabric'
380 testList: '{SR}'
381 fileName: 'Fabric'
Devin Lim7a877872018-01-16 14:50:57 -0800382
383- project:
384 name: build-pipeline
385
386 <<: *job-type-plate
387
388 project-name: '{type}-pipeline'
389
Devin Lim49200ec2018-01-19 16:17:41 -0800390 <<: *test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -0800391 <<: *job-version-plate
392
393 jobs:
394 - '{type}-pipeline-{version}'
395
396- project:
397 name: graph-generator
398
399 project-name: 'graph-generator'
400
Devin Lim49200ec2018-01-19 16:17:41 -0800401 <<: *test-pipe-init-procedure-plate
Devin Lim7a877872018-01-16 14:50:57 -0800402
403 jobs:
404 - 'manual-graph-generator-SCPF'
405 - 'manual-graph-generator-trend'
Jeremy Ronquillo3dbd8e82018-03-05 10:23:25 -0800406 - 'manual-graph-generator-overall'