blob: 5ed127a3869b826e44a4f4af270a240853e11e5a [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
7 parameters:
8 - string:
9 name: buildNode
10 default: '{build-node}'
11 description: 'Name of the Jenkins executor node to run the job on'
12
13 - string:
14 name: TestNodeName
15 default: '{build-node}'
16 description: 'DEPRECATED - use buildNode instead'
17
18 - string:
19 name: cordRepoUrl
20 default: '{gerrit-server-url}'
21 description: 'The URL of the CORD Project repository'
22
23 - string:
24 name: configBaseDir
25 default: 'pod-configs'
26 description: 'The directory inside the POD configs repository'
27
28 - string:
29 name: configDeploymentDir
30 default: 'deployment-configs'
31 description: 'The deployment configs folder'
32
33 - string:
34 name: configKubernetesDir
35 default: 'kubernetes-configs'
36 description: 'The kubernetes config folder'
37
38 - string:
39 name: configToscaDir
40 default: 'tosca-configs'
41 description: 'The tosca config folder'
42
43 - string:
44 name: configFileName
45 default: '{config-pod}'
46 description: 'The config file'
47
48 - string:
49 name: profile
50 default: '{profile}'
51 description: 'Technology Profile pushed to the ETCD'
52
53 - string:
54 name: helmRepoUrl
55 default: 'https://charts.opencord.org'
56 description: 'URL where helm-charts are published'
57
58 - string:
59 name: branch
60 default: '{branch}'
61
62 - string:
63 name: notificationEmail
64 default: 'you@opennetworking.org, suchitra@opennetworking.org'
65 description: ''
66
67 - string:
68 name: workFlow
69 default: '{work-flow}'
70 description: 'Installs and uses the specified work flow on the POD'
71
72 - string:
73 name: NumOfOpenOnu
74 default: '{num-of-openonu}'
75 description: 'Installs the specified Number of OpenOnu Adapters'
76
77 - string:
78 name: NumOfOnos
79 default: '{num-of-onos}'
80 description: 'Installs the specified Number of ONOS instances'
81
82 - string:
83 name: NumOfAtomix
84 default: '{num-of-atomix}'
85 description: 'Installs the specified Number of Atomix Instances'
86
87 - bool:
88 name: configurePod
89 default: true
90 description: "Configure POD via TOSCA post build"
91
92 - bool:
93 name: reinstallOlt
94 default: '{reinstall-olt}'
95 description: "Re-install olt software bringing up CORD"
96
97 - bool:
98 name: withKind
99 default: '{with-kind}'
100 description: "The pods uses kind and a physical fabric thus port forward to the management is needed"
101
102 - string:
103 name: VolthaEtcdPort
104 default: '{VolthaEtcdPort}'
105 description: 'Localhost port that is forwarded to VOLTHA etcd'
106
107 - bool:
108 name: inBandManagement
109 default: '{in-band-management}'
110 description: 'Indicates whether POD is configured for in band management'
111
112# defualt properties for the VOLTHA scale jobs
113- voltha-pipe-job-boiler-plate: &voltha-pipe-job-boiler-plate
114 name: voltha-pipe-job-boiler-plate
115
116 project-type: pipeline
117
118 sandbox: true
119
120 properties:
121 - cord-infra-properties:
122 build-days-to-keep: 30
123 artifact-num-to-keep: 15
124
125# VOLTHA Build Jobs
126- job-template:
127 name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
128 id: build_voltha_pod_release_timer
129 description: |
130 Manual Build on POD {config-pod}, using {Jenkinsfile} in {gerrit-server-url}/voltha-system-tests' <br /><br />
Matteo Scandolo16090cd2020-08-12 15:42:42 -0700131 Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Matteo Scandolo9973c652020-08-07 15:23:35 -0700132 Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
133 Copyright (c) 2018 Open Networking Foundation (ONF)
134
135 <<: *voltha-pipe-job-boiler-plate
136 VolthaEtcdPort: '2379'
137
138 <<: *voltha-build-job-parameters
139
140 concurrent: true
141
142 pipeline-scm:
143 script-path: '{Jenkinsfile}'
144 scm:
145 - git:
146 url: '{gerrit-server-url}/voltha-system-tests'
147 branches:
148 - '{branch}'
149
150 triggers:
151 - timed: |
152 TZ=America/Los_Angeles
153 H {time} * * *
154
155- job-template:
156 name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
157 id: build_voltha_pod_release_dependent
158 description: |
159 Automatic Build on POD {config-pod}, using {Jenkinsfile} in {gerrit-server-url}/voltha-system-tests' <br /><br />
Matteo Scandolo16090cd2020-08-12 15:42:42 -0700160 Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Matteo Scandolo9973c652020-08-07 15:23:35 -0700161 Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
162 This job is triggered upon completion of a dependent _test job <br />
163 Copyright (c) 2020 Open Networking Foundation (ONF)
164
165 <<: *voltha-pipe-job-boiler-plate
166 VolthaEtcdPort: '2379'
167
168 <<: *voltha-build-job-parameters
169
170 concurrent: true
171
172 pipeline-scm:
173 script-path: '{Jenkinsfile}'
174 scm:
175 - git:
176 url: '{gerrit-server-url}/voltha-system-tests'
177 branches:
178 - '{branch}'
179 triggers:
180 - reverse:
181 jobs: '{trigger-after}'
182 result: 'success'
183
184# VOLTHA Test Job
185# This job is automatically triggered after a build job has successfully completed
186- job-template:
187 name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
188 id: build_voltha_pod_test
189 description: |
190 Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
Matteo Scandolo16090cd2020-08-12 15:42:42 -0700191 Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Matteo Scandolo9973c652020-08-07 15:23:35 -0700192 Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
193 Copyright (c) 2017 Open Networking Foundation (ONF)
194
195 <<: *voltha-pipe-job-boiler-plate
196 pipeline-script: 'voltha-physical-functional-tests.groovy'
197 manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
198 manifest-branch: 'master'
199
200 parameters:
201 - string:
202 name: buildNode
203 default: '{build-node}'
204 description: 'Name of the Jenkins executor node to run the job on'
205
206 - string:
207 name: TestNodeName
208 default: '{build-node}'
209 description: 'DEPRECATED - use buildNode instead'
210
211 - string:
212 name: cordRepoUrl
213 default: '{gerrit-server-url}'
214 description: 'The URL of the CORD Project repository'
215
216 - string:
217 name: configBaseDir
218 default: 'pod-configs'
219 description: 'The directory inside the POD configs repository'
220
221 - string:
222 name: configDeploymentDir
223 default: 'deployment-configs'
224 description: 'The deployment configs folder'
225
226 - string:
227 name: configKubernetesDir
228 default: 'kubernetes-configs'
229 description: 'The kubernetes config folder'
230
231 - string:
232 name: configToscaDir
233 default: 'tosca-configs'
234 description: 'The tosca config folder'
235
236 - string:
237 name: configFileName
238 default: '{config-pod}'
239 description: 'The config file'
240
241 - string:
242 name: profile
243 default: '{profile}'
244 description: 'Technology Profile pushed to the ETCD'
245
246 - string:
247 name: branch
248 default: '{branch}'
249 description: 'Branch of the test libraries to check out'
250
251 - string:
252 name: manifestUrl
253 default: '{manifest-url}'
254 description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
255
256 - string:
257 name: manifestBranch
258 default: '{manifest-branch}'
259 description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
260
261 - string:
262 name: workFlow
263 default: '{work-flow}'
264 description: 'Installs and uses the specified work flow on the POD'
265
266 - bool:
267 name: powerSwitch
268 default: '{power-switch}'
269 description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"
270
271 concurrent: true
272
273 project-type: pipeline
274 dsl: !include-raw-escape: ../pipeline/{pipeline-script}
275
276 triggers:
277 - reverse:
278 jobs: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
279 result: 'success'