Merge "Armband: Move lab-config to OPNFV securedlab"
[releng.git] / jjb / armband / armband-ci-jobs.yml
1 # jenkins job templates for Armband
2 - project:
3     name: 'armband-ci'
4     project: 'armband'
5
6 #--------------------------------
7 # BRANCH ANCHORS
8 #--------------------------------
9     master: &master
10         stream: master
11         branch: '{stream}'
12         gs-pathname: ''
13     colorado: &colorado
14         stream: colorado
15         branch: 'stable/{stream}'
16         gs-pathname: '/{stream}'
17 #--------------------------------
18 # POD, INSTALLER, AND BRANCH MAPPING
19 #--------------------------------
20 # CI POD's
21 #--------------------------------
22 #        colorado
23 #--------------------------------
24     pod:
25         - armband-baremetal:
26             slave-label: armband-baremetal
27             installer: fuel
28             <<: *colorado
29         - armband-virtual:
30             slave-label: armband-virtual
31             installer: fuel
32             <<: *colorado
33 #--------------------------------
34 #        master
35 #--------------------------------
36         - armband-baremetal:
37             slave-label: armband-baremetal
38             installer: fuel
39             <<: *master
40         - armband-virtual:
41             slave-label: armband-virtual
42             installer: fuel
43             <<: *master
44 #--------------------------------
45 # NONE-CI POD's
46 #--------------------------------
47 #        colorado
48 #--------------------------------
49         - arm-pod2:
50             slave-label: arm-pod2
51             installer: fuel
52             <<: *colorado
53 #--------------------------------
54 #        master
55 #--------------------------------
56         - arm-pod2:
57             slave-label: arm-pod2
58             installer: fuel
59             <<: *master
60 #--------------------------------
61 #       scenarios
62 #--------------------------------
63     scenario:
64         # HA scenarios
65         - 'os-nosdn-nofeature-ha':
66             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
67         - 'os-odl_l2-nofeature-ha':
68             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
69         - 'os-odl_l3-nofeature-ha':
70             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
71         - 'os-odl_l2-bgpvpn-ha':
72             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
73         - 'os-odl_l2-sfc-ha':
74             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
75
76         # NOHA scenarios
77         - 'os-odl_l2-nofeature-noha':
78             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
79         - 'os-odl_l2-sfc-noha':
80             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
81
82     jobs:
83         - '{installer}-{scenario}-{pod}-daily-{stream}'
84         - '{installer}-deploy-{pod}-daily-{stream}'
85
86 ########################
87 # job templates
88 ########################
89 - job-template:
90     name: '{installer}-{scenario}-{pod}-daily-{stream}'
91
92     concurrent: false
93
94     properties:
95         - throttle:
96             enabled: true
97             max-total: 4
98             max-per-node: 1
99             option: 'project'
100         - build-blocker:
101             use-build-blocker: true
102             blocking-jobs:
103                 - '{installer}-os-.*?-{pod}-daily-.*'
104             block-level: 'NODE'
105
106     wrappers:
107         - build-name:
108             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
109
110     triggers:
111         - '{auto-trigger-name}'
112
113     parameters:
114         - project-parameter:
115             project: '{project}'
116         - '{installer}-defaults'
117         - '{slave-label}-defaults':
118             installer: '{installer}'
119         - string:
120             name: DEPLOY_SCENARIO
121             default: '{scenario}'
122         - armband-ci-parameter:
123             gs-pathname: '{gs-pathname}'
124
125     builders:
126         - trigger-builds:
127             - project: '{installer}-deploy-{pod}-daily-{stream}'
128               current-parameters: false
129               predefined-parameters:
130                 DEPLOY_SCENARIO={scenario}
131               same-node: true
132               block: true
133         - trigger-builds:
134             - project: 'functest-{installer}-{pod}-daily-{stream}'
135               current-parameters: false
136               predefined-parameters:
137                 DEPLOY_SCENARIO={scenario}
138               block: true
139               same-node: true
140               block-thresholds:
141                 build-step-failure-threshold: 'never'
142                 failure-threshold: 'never'
143                 unstable-threshold: 'FAILURE'
144         - trigger-builds:
145             - project: 'yardstick-{installer}-{pod}-daily-{stream}'
146               current-parameters: false
147               predefined-parameters:
148                 DEPLOY_SCENARIO={scenario}
149               block: true
150               same-node: true
151               block-thresholds:
152                 build-step-failure-threshold: 'never'
153                 failure-threshold: 'never'
154                 unstable-threshold: 'FAILURE'
155
156 - job-template:
157     name: '{installer}-deploy-{pod}-daily-{stream}'
158
159     concurrent: true
160
161     properties:
162         - throttle:
163             enabled: true
164             max-total: 4
165             max-per-node: 1
166             option: 'project'
167         - build-blocker:
168             use-build-blocker: true
169             blocking-jobs:
170                 - '{installer}-deploy-{pod}-daily-{stream}'
171                 - '{installer}-deploy-generic-daily-.*'
172             block-level: 'NODE'
173
174     parameters:
175         - project-parameter:
176             project: '{project}'
177         - '{installer}-defaults'
178         - '{slave-label}-defaults':
179             installer: '{installer}'
180         - string:
181             name: DEPLOY_SCENARIO
182             default: 'os-odl_l2-nofeature-ha'
183         - armband-ci-parameter:
184             gs-pathname: '{gs-pathname}'
185
186     scm:
187         - git-scm:
188             credentials-id: '{ssh-credentials}'
189             refspec: ''
190             branch: '{branch}'
191
192     wrappers:
193         - build-name:
194             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
195
196     builders:
197         - shell:
198             !include-raw-escape: ./armband-download-artifact.sh
199         - shell:
200             !include-raw-escape: ./armband-deploy.sh
201
202     publishers:
203         - email:
204             recipients: armband@enea.com
205
206 ########################
207 # parameter macros
208 ########################
209 - parameter:
210     name: armband-ci-parameter
211     parameters:
212         - string:
213             name: BUILD_DIRECTORY
214             default: $WORKSPACE/build_output
215             description: "Directory where the build artifact will be located upon the completion of the build."
216         - string:
217             name: CACHE_DIRECTORY
218             default: $HOME/opnfv/cache/$INSTALLER_TYPE
219             description: "Directory where the cache to be used during the build is located."
220         - string:
221             name: GS_URL
222             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
223             description: "URL to Google Storage."
224
225 ########################
226 # trigger macros
227 ########################
228 # CI PODs
229 #-----------------------------------------------------------------
230 # Enea Armband CI Baremetal Triggers running against master branch
231 #-----------------------------------------------------------------
232 - trigger:
233     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
234     triggers:
235         - timed: '0 0 * * 1'
236 - trigger:
237     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
238     triggers:
239         - timed: '0 0 * * 2'
240 - trigger:
241     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
242     triggers:
243         - timed: '0 0 * * 3'
244 - trigger:
245     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
246     triggers:
247         - timed: '0 0 * * 4'
248 - trigger:
249     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger'
250     triggers:
251         - timed: '0 0 * * 5'
252 - trigger:
253     name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-master-trigger'
254     triggers:
255         - timed: '0 0 * * 6'
256 - trigger:
257     name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-master-trigger'
258     triggers:
259         - timed: '0 0 * * 7'
260
261 #----------------------------------------------------------------------
262 # Enea Armband CI Baremetal Triggers running against colorado branch
263 #----------------------------------------------------------------------
264 - trigger:
265     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger'
266     triggers:
267         - timed: '0 8 * * 1,3,5,7'
268 - trigger:
269     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger'
270     triggers:
271         - timed: '0 16 * * 2,7'
272 - trigger:
273     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger'
274     triggers:
275         - timed: '0 8 * * 2,4,6'
276 - trigger:
277     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger'
278     triggers:
279         - timed: '0 16 * * 1,4,6'
280 - trigger:
281     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger'
282     triggers:
283         - timed: '0 16 * * 3,5'
284 - trigger:
285     name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-colorado-trigger'
286     triggers:
287         - timed: ''
288 - trigger:
289     name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-colorado-trigger'
290     triggers:
291         - timed: ''
292 #---------------------------------------------------------------
293 # Enea Armband CI Virtual Triggers running against master branch
294 #---------------------------------------------------------------
295 - trigger:
296     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-master-trigger'
297     triggers:
298         - timed: ''
299 - trigger:
300     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
301     triggers:
302         - timed: ''
303 - trigger:
304     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger'
305     triggers:
306         - timed: ''
307 - trigger:
308     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-master-trigger'
309     triggers:
310         - timed: ''
311 - trigger:
312     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-master-trigger'
313     triggers:
314         - timed: ''
315 - trigger:
316     name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-master-trigger'
317     triggers:
318         - timed: ''
319 - trigger:
320     name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-master-trigger'
321     triggers:
322         - timed: ''
323 #--------------------------------------------------------------------
324 # Enea Armband CI Virtual Triggers running against colorado branch
325 #--------------------------------------------------------------------
326 - trigger:
327     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-colorado-trigger'
328     triggers:
329         - timed: ''
330 - trigger:
331     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-colorado-trigger'
332     triggers:
333         - timed: ''
334 - trigger:
335     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-colorado-trigger'
336     triggers:
337         - timed: ''
338 - trigger:
339     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-colorado-trigger'
340     triggers:
341         - timed: ''
342 - trigger:
343     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-colorado-trigger'
344     triggers:
345         - timed: ''
346 - trigger:
347     name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-colorado-trigger'
348     triggers:
349         - timed: ''
350 - trigger:
351     name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-colorado-trigger'
352     triggers:
353         - timed: ''
354 #----------------------------------------------------------
355 # Enea Armband POD 2 Triggers running against master branch
356 #----------------------------------------------------------
357 - trigger:
358     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-master-trigger'
359     triggers:
360         - timed: ''
361 - trigger:
362     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-master-trigger'
363     triggers:
364         - timed: ''
365 - trigger:
366     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-master-trigger'
367     triggers:
368         - timed: ''
369 - trigger:
370     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-master-trigger'
371     triggers:
372         - timed: ''
373 - trigger:
374     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-master-trigger'
375     triggers:
376         - timed: ''
377 - trigger:
378     name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-master-trigger'
379     triggers:
380         - timed: ''
381 - trigger:
382     name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-master-trigger'
383     triggers:
384         - timed: ''
385 #---------------------------------------------------------------
386 # Enea Armband POD 2 Triggers running against colorado branch
387 #---------------------------------------------------------------
388 - trigger:
389     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-colorado-trigger'
390     triggers:
391         - timed: ''
392 - trigger:
393     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-colorado-trigger'
394     triggers:
395         - timed: ''
396 - trigger:
397     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-colorado-trigger'
398     triggers:
399         - timed: ''
400 - trigger:
401     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-colorado-trigger'
402     triggers:
403         - timed: ''
404 - trigger:
405     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-colorado-trigger'
406     triggers:
407         - timed: ''
408 - trigger:
409     name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-colorado-trigger'
410     triggers:
411         - timed: ''
412 - trigger:
413     name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-colorado-trigger'
414     triggers:
415         - timed: ''