blob: 7ba8dbbe8893e1d424466d16316be5c4c88672ab [file] [log] [blame]
Matteo Scandolo9973c652020-08-07 15:23:35 -07001---
2# list of parameters for the VOLTHA Jobs,
3# used as anchor so that can be shared across multiple jobs
4# to use in a job: `parameters: *voltha-build-job-parameters`
5- voltha-build-job-parameters: &voltha-build-job-parameters
6 name: voltha-build-job-parameters
Andrea Campanella6dfc0432021-01-12 10:43:16 +01007
8 openoltAdapterChart: onf/voltha-adapter-openolt
9
Matteo Scandolo9973c652020-08-07 15:23:35 -070010 parameters:
11 - string:
12 name: buildNode
13 default: '{build-node}'
14 description: 'Name of the Jenkins executor node to run the job on'
15
16 - string:
17 name: TestNodeName
18 default: '{build-node}'
19 description: 'DEPRECATED - use buildNode instead'
20
21 - string:
Matteo Scandolo982b69d2021-05-10 12:01:57 -070022 name: logLevel
23 default: '{logLevel}'
24 description: 'Log level for all the components'
25
26 - string:
Matteo Scandolo9973c652020-08-07 15:23:35 -070027 name: cordRepoUrl
28 default: '{gerrit-server-url}'
29 description: 'The URL of the CORD Project repository'
30
31 - string:
32 name: configBaseDir
33 default: 'pod-configs'
34 description: 'The directory inside the POD configs repository'
35
36 - string:
37 name: configDeploymentDir
38 default: 'deployment-configs'
39 description: 'The deployment configs folder'
40
41 - string:
42 name: configKubernetesDir
43 default: 'kubernetes-configs'
44 description: 'The kubernetes config folder'
45
46 - string:
47 name: configToscaDir
48 default: 'tosca-configs'
49 description: 'The tosca config folder'
50
51 - string:
52 name: configFileName
53 default: '{config-pod}'
54 description: 'The config file'
55
56 - string:
57 name: profile
58 default: '{profile}'
59 description: 'Technology Profile pushed to the ETCD'
60
61 - string:
62 name: helmRepoUrl
63 default: 'https://charts.opencord.org'
64 description: 'URL where helm-charts are published'
65
66 - string:
67 name: branch
68 default: '{branch}'
69
70 - string:
71 name: notificationEmail
72 default: 'you@opennetworking.org, suchitra@opennetworking.org'
73 description: ''
74
75 - string:
76 name: workFlow
77 default: '{work-flow}'
78 description: 'Installs and uses the specified work flow on the POD'
79
Matteo Scandolod82d1de2021-04-06 14:55:58 -070080 # openonu-go only supports a single replica, remove after 2.8
Matteo Scandolo9973c652020-08-07 15:23:35 -070081 - string:
82 name: NumOfOpenOnu
83 default: '{num-of-openonu}'
84 description: 'Installs the specified Number of OpenOnu Adapters'
85
86 - string:
87 name: NumOfOnos
88 default: '{num-of-onos}'
89 description: 'Installs the specified Number of ONOS instances'
90
Suchitra Vemuridddc3ac2021-02-11 15:40:43 -080091 - bool:
92 name: installBBSim
Hardik Windlassc7379022021-05-12 13:52:24 +053093 default: '{installBBSim}'
Suchitra Vemuridddc3ac2021-02-11 15:40:43 -080094 description: "Install the BBSim container"
95
96 - string:
97 name: onuNumber
98 default: '{num-of-onus}'
99 description: "Onus per PonPort"
100
101 - string:
102 name: ponNumber
103 default: '{num-of-ponports}'
104 description: "Number of PON Ports"
105
Matteo Scandolo9973c652020-08-07 15:23:35 -0700106 - string:
107 name: NumOfAtomix
108 default: '{num-of-atomix}'
109 description: 'Installs the specified Number of Atomix Instances'
110
Hardik Windlassc7379022021-05-12 13:52:24 +0530111 - string:
112 name: NumOfKafka
113 default: '{num-of-kafka}'
114 description: 'Installs the specified Number of Kafka Instances'
115
116 - string:
117 name: NumOfEtcd
118 default: '{num-of-etcd}'
119 description: 'Installs the specified Number of Etcd Instances'
120
Matteo Scandolo9973c652020-08-07 15:23:35 -0700121 - bool:
122 name: configurePod
123 default: true
124 description: "Configure POD via TOSCA post build"
125
126 - bool:
127 name: reinstallOlt
128 default: '{reinstall-olt}'
129 description: "Re-install olt software bringing up CORD"
130
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700131 # withKind is not used in the master branch pipeline, remove after 2.8
Matteo Scandolo9973c652020-08-07 15:23:35 -0700132 - bool:
133 name: withKind
134 default: '{with-kind}'
135 description: "The pods uses kind and a physical fabric thus port forward to the management is needed"
136
137 - string:
138 name: VolthaEtcdPort
139 default: '{VolthaEtcdPort}'
140 description: 'Localhost port that is forwarded to VOLTHA etcd'
141
142 - bool:
143 name: inBandManagement
144 default: '{in-band-management}'
145 description: 'Indicates whether POD is configured for in band management'
146
Matteo Scandolo3dce2a12020-09-15 14:21:14 -0700147 - string:
148 name: volthaSystemTestsChange
149 default: '{volthaSystemTestsChange}'
150 description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
151
152 - string:
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700153 name: volthaHelmChartsChange
154 default: '{volthaHelmChartsChange}'
155 description: 'Download a change for gerrit in the voltha-helm-charts repo, example value: "refs/changes/32/19132/1"'
156
157 # kind-voltha is not used in the master branch pipeline, remove after 2.8
158 - string:
Matteo Scandolo3dce2a12020-09-15 14:21:14 -0700159 name: kindVolthaChange
160 default: '{kindVolthaChange}'
161 description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
162
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700163 # NOTE is this needed/used?
Matteo Scandolo3dce2a12020-09-15 14:21:14 -0700164 - string:
165 name: cordTesterChange
166 default: '{cordTesterChange}'
167 description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
168
Matteo Scandolo6eb673e2021-05-06 11:24:39 -0700169 # this is used in the Adtran DT job
Andrea Campanella6dfc0432021-01-12 10:43:16 +0100170 - string:
171 name: openoltAdapterChart
172 default: '{openoltAdapterChart}'
173 description: 'OpenOLT chart name (or location on file system)'
174
Matteo Scandolo9973c652020-08-07 15:23:35 -0700175# defualt properties for the VOLTHA scale jobs
176- voltha-pipe-job-boiler-plate: &voltha-pipe-job-boiler-plate
177 name: voltha-pipe-job-boiler-plate
178
179 project-type: pipeline
180
181 sandbox: true
182
183 properties:
184 - cord-infra-properties:
Matteo Scandoloa0e6f3f2020-11-12 17:13:20 -0800185 build-days-to-keep: '{big-build-days-to-keep}'
186 artifact-num-to-keep: '{big-artifact-num-to-keep}'
Matteo Scandolo9973c652020-08-07 15:23:35 -0700187
188# VOLTHA Build Jobs
189- job-template:
Hardik Windlassc7379022021-05-12 13:52:24 +0530190 name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}_manual'
191 id: build_voltha_pod_manual
192 disabled: '{disable-job}'
193 description: |
194 Manual Build on POD {config-pod}, using pipeline/{pipeline-script} in {gerrit-server-url}/ci-management' <br /><br />
195 Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
196 Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
197 Copyright (c) 2018 Open Networking Foundation (ONF)
198
199 <<: *voltha-pipe-job-boiler-plate
200 # default values
201 pipeline-script: 'voltha/master/physical-build.groovy'
202 VolthaEtcdPort: 2379
203 num-of-openonu: 1
204 num-of-onos: 1
205 num-of-atomix: 0
206 num-of-kafka: 1
207 num-of-etcd: 1
208 test-repo: 'voltha-system-tests'
209 release: 'master'
210 name-extension: ''
211 branch: 'master'
212 configurePod: true
213 volthaHelmChartsChange: ''
214 profile: 'Default'
215 logLevel: 'DEBUG'
216 installBBSim: false
Matteo Scandolo1c895512021-05-13 10:30:13 -0700217 num-of-onus: 0
218 num-of-ponports: 0
Hardik Windlassc7379022021-05-12 13:52:24 +0530219
220 <<: *voltha-build-job-parameters
221
222 concurrent: true
223 project-type: pipeline
224 dsl: !include-raw-escape: ../pipeline/{pipeline-script}
225
226# VOLTHA Build Jobs
227- job-template:
Matteo Scandolo9973c652020-08-07 15:23:35 -0700228 name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
229 id: build_voltha_pod_release_timer
Suchitra Vemuri26fe2432020-09-14 19:51:32 -0700230 disabled: '{disable-job}'
Matteo Scandolo9973c652020-08-07 15:23:35 -0700231 description: |
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700232 Manual Build on POD {config-pod}, using pipeline/{pipeline-script} in {gerrit-server-url}/ci-management' <br /><br />
Matteo Scandolo16090cd2020-08-12 15:42:42 -0700233 Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Matteo Scandolo9973c652020-08-07 15:23:35 -0700234 Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
235 Copyright (c) 2018 Open Networking Foundation (ONF)
236
237 <<: *voltha-pipe-job-boiler-plate
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700238 # default values
239 pipeline-script: 'voltha/master/physical-build.groovy'
240 VolthaEtcdPort: 2379
241 num-of-openonu: 1
242 num-of-onos: 3
243 num-of-atomix: 3
Hardik Windlassc7379022021-05-12 13:52:24 +0530244 num-of-kafka: 3
245 num-of-etcd: 3
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700246 test-repo: 'voltha-system-tests'
247 release: 'master'
248 name-extension: ''
249 branch: 'master'
250 configurePod: true
251 volthaHelmChartsChange: ''
252 profile: 'Default'
Matteo Scandolo6ddb0152021-05-07 11:25:17 -0700253 logLevel: 'DEBUG'
Hardik Windlassc7379022021-05-12 13:52:24 +0530254 installBBSim: false
Matteo Scandolo1c895512021-05-13 10:30:13 -0700255 num-of-onus: 0
256 num-of-ponports: 0
Matteo Scandolo9973c652020-08-07 15:23:35 -0700257
258 <<: *voltha-build-job-parameters
259
260 concurrent: true
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700261 project-type: pipeline
262 dsl: !include-raw-escape: ../pipeline/{pipeline-script}
Matteo Scandolo9973c652020-08-07 15:23:35 -0700263
264 triggers:
265 - timed: |
266 TZ=America/Los_Angeles
267 H {time} * * *
268
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700269# this job template is defined to support VOLTHA-2.7 builds, remove after 2.8
Matteo Scandolo9973c652020-08-07 15:23:35 -0700270- job-template:
271 name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700272 id: build_voltha_pod_release_legacy
Matteo Scandolo38a00b02020-09-15 13:27:06 -0700273 disabled: '{disable-job}'
Matteo Scandolo9973c652020-08-07 15:23:35 -0700274 description: |
275 Automatic Build on POD {config-pod}, using {Jenkinsfile} in {gerrit-server-url}/voltha-system-tests' <br /><br />
Matteo Scandolo16090cd2020-08-12 15:42:42 -0700276 Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Matteo Scandolo9973c652020-08-07 15:23:35 -0700277 Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
278 This job is triggered upon completion of a dependent _test job <br />
279 Copyright (c) 2020 Open Networking Foundation (ONF)
280
281 <<: *voltha-pipe-job-boiler-plate
282 VolthaEtcdPort: '2379'
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700283 release: '2.7'
284 branch: 'voltha-2.7'
285 volthaHelmChartsChange: '' # this is not supported in the VOLTHA-2.7 build, but the parameters are shared, ideally we should split them
Matteo Scandolo982b69d2021-05-10 12:01:57 -0700286 logLevel: 'DEBUG'
Hardik Windlassc7379022021-05-12 13:52:24 +0530287 installBBSim: false
Matteo Scandolo1c895512021-05-13 10:30:13 -0700288 num-of-onus: 0
289 num-of-ponports: 0
Hardik Windlassc7379022021-05-12 13:52:24 +0530290 num-of-kafka: 1
291 num-of-etcd: 1
Matteo Scandolo9973c652020-08-07 15:23:35 -0700292
293 <<: *voltha-build-job-parameters
294
295 concurrent: true
296
297 pipeline-scm:
298 script-path: '{Jenkinsfile}'
299 scm:
300 - git:
301 url: '{gerrit-server-url}/voltha-system-tests'
302 branches:
303 - '{branch}'
Matteo Scandolo9973c652020-08-07 15:23:35 -0700304
Matteo Scandolo218b2dc2021-04-21 13:21:13 -0700305 triggers:
306 - timed: |
307 TZ=America/Los_Angeles
308 H {time} * * *
309
Matteo Scandolo9973c652020-08-07 15:23:35 -0700310# VOLTHA Test Job
311# This job is automatically triggered after a build job has successfully completed
312- job-template:
313 name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
314 id: build_voltha_pod_test
Matteo Scandolo38a00b02020-09-15 13:27:06 -0700315 disabled: '{disable-job}'
Matteo Scandolo9973c652020-08-07 15:23:35 -0700316 description: |
317 Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
Matteo Scandolo16090cd2020-08-12 15:42:42 -0700318 Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Matteo Scandolo9973c652020-08-07 15:23:35 -0700319 Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
320 Copyright (c) 2017 Open Networking Foundation (ONF)
321
322 <<: *voltha-pipe-job-boiler-plate
323 pipeline-script: 'voltha-physical-functional-tests.groovy'
324 manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
325 manifest-branch: 'master'
326
Andrea Campanella0d3110c2021-01-20 12:25:45 +0100327 oltAdapterAppLabel: 'adapter-open-olt'
328
Matteo Scandolo9973c652020-08-07 15:23:35 -0700329 parameters:
330 - string:
331 name: buildNode
332 default: '{build-node}'
333 description: 'Name of the Jenkins executor node to run the job on'
334
335 - string:
336 name: TestNodeName
337 default: '{build-node}'
338 description: 'DEPRECATED - use buildNode instead'
339
340 - string:
341 name: cordRepoUrl
342 default: '{gerrit-server-url}'
343 description: 'The URL of the CORD Project repository'
344
345 - string:
346 name: configBaseDir
347 default: 'pod-configs'
348 description: 'The directory inside the POD configs repository'
349
350 - string:
351 name: configDeploymentDir
352 default: 'deployment-configs'
353 description: 'The deployment configs folder'
354
355 - string:
356 name: configKubernetesDir
357 default: 'kubernetes-configs'
358 description: 'The kubernetes config folder'
359
360 - string:
361 name: configToscaDir
362 default: 'tosca-configs'
363 description: 'The tosca config folder'
364
365 - string:
366 name: configFileName
367 default: '{config-pod}'
368 description: 'The config file'
369
370 - string:
371 name: profile
372 default: '{profile}'
373 description: 'Technology Profile pushed to the ETCD'
374
375 - string:
376 name: branch
377 default: '{branch}'
378 description: 'Branch of the test libraries to check out'
379
380 - string:
381 name: manifestUrl
382 default: '{manifest-url}'
383 description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
384
385 - string:
386 name: manifestBranch
387 default: '{manifest-branch}'
388 description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
389
390 - string:
391 name: workFlow
392 default: '{work-flow}'
393 description: 'Installs and uses the specified work flow on the POD'
394
395 - bool:
396 name: powerSwitch
397 default: '{power-switch}'
398 description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"
399
Andrea Campanella6ea62272020-09-16 11:10:52 +0200400 - string:
Andrea Campanella0d3110c2021-01-20 12:25:45 +0100401 name: oltAdapterAppLabel
402 default: '{oltAdapterAppLabel}'
403 description: 'OLT adapter pod name'
404
405 - string:
Andrea Campanella6ea62272020-09-16 11:10:52 +0200406 name: volthaSystemTestsChange
407 default: '{volthaSystemTestsChange}'
408 description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
409
410 - string:
411 name: kindVolthaChange
412 default: '{kindVolthaChange}'
413 description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
414
415 - string:
416 name: cordTesterChange
417 default: '{cordTesterChange}'
418 description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
419
Matteo Scandolo9973c652020-08-07 15:23:35 -0700420 concurrent: true
421
422 project-type: pipeline
423 dsl: !include-raw-escape: ../pipeline/{pipeline-script}
424
425 triggers:
426 - reverse:
427 jobs: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
428 result: 'success'
Suchitra Vemuri0921c752020-08-31 22:58:50 -0700429
430
Matteo Scandolod82d1de2021-04-06 14:55:58 -0700431# VOLTHA Soak Test Job
432# This job is triggered by a timer defined in the job
Suchitra Vemuri0921c752020-08-31 22:58:50 -0700433- job-template:
434 name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
435 id: build_voltha_pod_soak_test
Andrea Campanellab54cabe2020-11-26 14:48:11 +0100436 disabled: '{disable-job}'
Suchitra Vemuri0921c752020-08-31 22:58:50 -0700437 description: |
438 Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
439 Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
440 Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
441 Copyright (c) 2017 Open Networking Foundation (ONF)
442
443 <<: *voltha-pipe-job-boiler-plate
444 pipeline-script: 'voltha-physical-functional-tests.groovy'
445 manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
446 manifest-branch: 'master'
447
Andrea Campanella0d3110c2021-01-20 12:25:45 +0100448 oltAdapterAppLabel: 'adapter-open-olt'
449
Suchitra Vemuri0921c752020-08-31 22:58:50 -0700450 parameters:
451 - string:
452 name: buildNode
453 default: '{build-node}'
454 description: 'Name of the Jenkins executor node to run the job on'
455
456 - string:
457 name: TestNodeName
458 default: '{build-node}'
459 description: 'DEPRECATED - use buildNode instead'
460
461 - string:
462 name: cordRepoUrl
463 default: '{gerrit-server-url}'
464 description: 'The URL of the CORD Project repository'
465
466 - string:
467 name: configBaseDir
468 default: 'pod-configs'
469 description: 'The directory inside the POD configs repository'
470
471 - string:
472 name: configDeploymentDir
473 default: 'deployment-configs'
474 description: 'The deployment configs folder'
475
476 - string:
477 name: configKubernetesDir
478 default: 'kubernetes-configs'
479 description: 'The kubernetes config folder'
480
481 - string:
482 name: configToscaDir
483 default: 'tosca-configs'
484 description: 'The tosca config folder'
485
486 - string:
487 name: configFileName
488 default: '{config-pod}'
489 description: 'The config file'
490
491 - string:
492 name: profile
493 default: '{profile}'
494 description: 'Technology Profile pushed to the ETCD'
495
496 - string:
497 name: branch
498 default: '{branch}'
499 description: 'Branch of the test libraries to check out'
500
501 - string:
502 name: manifestUrl
503 default: '{manifest-url}'
504 description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
505
506 - string:
507 name: manifestBranch
508 default: '{manifest-branch}'
509 description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
510
511 - string:
512 name: workFlow
513 default: '{work-flow}'
514 description: 'Installs and uses the specified work flow on the POD'
515
516 - bool:
517 name: powerSwitch
518 default: '{power-switch}'
519 description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"
520
Suchitra Vemurie6625222020-09-01 17:12:56 -0700521 - string:
Andrea Campanella0d3110c2021-01-20 12:25:45 +0100522 name: oltAdapterAppLabel
523 default: '{oltAdapterAppLabel}'
524 description: 'OLT adapter pod name'
525
526 - string:
Suchitra Vemurie6625222020-09-01 17:12:56 -0700527 name: testType
528 default: '{test-type}'
529 description: 'Passes the required test category to the groovy script'
530
Suchitra Vemurie3bb90d2020-09-15 17:15:50 -0700531 - string:
532 name: volthaSystemTestsChange
533 default: '{volthaSystemTestsChange}'
534 description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
535
536 - string:
537 name: kindVolthaChange
538 default: '{kindVolthaChange}'
539 description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
540
541 - string:
542 name: cordTesterChange
543 default: '{cordTesterChange}'
544 description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
Suchitra Vemuri0921c752020-08-31 22:58:50 -0700545 concurrent: true
546
547 project-type: pipeline
548 dsl: !include-raw-escape: ../pipeline/{pipeline-script}
549
550 triggers:
551 - timed: |
552 TZ=America/Los_Angeles
553 {time-trigger}