2c355b750213ed2c3af70beeaeb5cca0ebfc986a
[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         - arm-pod3:
54             slave-label: arm-pod3
55             installer: fuel
56             <<: *colorado
57 #--------------------------------
58 #        master
59 #--------------------------------
60         - arm-pod2:
61             slave-label: arm-pod2
62             installer: fuel
63             <<: *master
64         - arm-pod3:
65             slave-label: arm-pod3
66             installer: fuel
67             <<: *master
68 #--------------------------------
69 #       scenarios
70 #--------------------------------
71     scenario:
72         # HA scenarios
73         - 'os-nosdn-nofeature-ha':
74             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
75         - 'os-odl_l2-nofeature-ha':
76             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
77         - 'os-odl_l3-nofeature-ha':
78             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
79         - 'os-odl_l2-bgpvpn-ha':
80             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
81         - 'os-odl_l2-sfc-ha':
82             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
83
84         # NOHA scenarios
85         - 'os-odl_l2-nofeature-noha':
86             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
87         - 'os-odl_l2-sfc-noha':
88             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
89
90     jobs:
91         - '{installer}-{scenario}-{pod}-daily-{stream}'
92         - '{installer}-deploy-{pod}-daily-{stream}'
93
94 ########################
95 # job templates
96 ########################
97 - job-template:
98     name: '{installer}-{scenario}-{pod}-daily-{stream}'
99
100     concurrent: false
101
102     properties:
103         - throttle:
104             enabled: true
105             max-total: 4
106             max-per-node: 1
107             option: 'project'
108         - build-blocker:
109             use-build-blocker: true
110             blocking-jobs:
111                 - '{installer}-os-.*?-{pod}-daily-.*'
112             block-level: 'NODE'
113
114     wrappers:
115         - build-name:
116             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
117
118     triggers:
119         - '{auto-trigger-name}'
120
121     parameters:
122         - project-parameter:
123             project: '{project}'
124         - '{installer}-defaults'
125         - '{slave-label}-defaults':
126             installer: '{installer}'
127         - string:
128             name: DEPLOY_SCENARIO
129             default: '{scenario}'
130         - armband-ci-parameter:
131             gs-pathname: '{gs-pathname}'
132
133     builders:
134         - trigger-builds:
135             - project: '{installer}-deploy-{pod}-daily-{stream}'
136               current-parameters: false
137               predefined-parameters:
138                 DEPLOY_SCENARIO={scenario}
139               same-node: true
140               block: true
141         - trigger-builds:
142             - project: 'functest-{installer}-{pod}-daily-{stream}'
143               current-parameters: false
144               predefined-parameters:
145                 DEPLOY_SCENARIO={scenario}
146               block: true
147               same-node: true
148               block-thresholds:
149                 build-step-failure-threshold: 'never'
150                 failure-threshold: 'never'
151                 unstable-threshold: 'FAILURE'
152         - trigger-builds:
153             - project: 'yardstick-{installer}-{pod}-daily-{stream}'
154               current-parameters: false
155               predefined-parameters:
156                 DEPLOY_SCENARIO={scenario}
157               block: true
158               same-node: true
159               block-thresholds:
160                 build-step-failure-threshold: 'never'
161                 failure-threshold: 'never'
162                 unstable-threshold: 'FAILURE'
163         # 1.dovetail only master by now, not sync with A/B/C branches
164         # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
165         # 3.only debug testsuite here(includes 3 basic testcase,
166         #   i.e. one tempest smoke ipv6, two vping from functest)
167         # 4.not used for release criteria or compliance,
168         #   only to debug the dovetail tool bugs with arm pods
169         - trigger-builds:
170             - project: 'dovetail-{installer}-{pod}-debug-{stream}'
171               current-parameters: false
172               predefined-parameters:
173                 DEPLOY_SCENARIO={scenario}
174               block: true
175               same-node: true
176               block-thresholds:
177                 build-step-failure-threshold: 'never'
178                 failure-threshold: 'never'
179                 unstable-threshold: 'FAILURE'
180
181 - job-template:
182     name: '{installer}-deploy-{pod}-daily-{stream}'
183
184     concurrent: true
185
186     properties:
187         - throttle:
188             enabled: true
189             max-total: 4
190             max-per-node: 1
191             option: 'project'
192         - build-blocker:
193             use-build-blocker: true
194             blocking-jobs:
195                 - '{installer}-deploy-{pod}-daily-{stream}'
196                 - '{installer}-deploy-generic-daily-.*'
197             block-level: 'NODE'
198
199     parameters:
200         - project-parameter:
201             project: '{project}'
202         - '{installer}-defaults'
203         - '{slave-label}-defaults':
204             installer: '{installer}'
205         - string:
206             name: DEPLOY_SCENARIO
207             default: 'os-odl_l2-nofeature-ha'
208         - armband-ci-parameter:
209             gs-pathname: '{gs-pathname}'
210
211     scm:
212         - git-scm
213
214     wrappers:
215         - build-name:
216             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
217
218     builders:
219         - shell:
220             !include-raw-escape: ./armband-download-artifact.sh
221         - shell:
222             !include-raw-escape: ./armband-deploy.sh
223
224     publishers:
225         - email:
226             recipients: armband@enea.com
227
228 ########################
229 # parameter macros
230 ########################
231 - parameter:
232     name: armband-ci-parameter
233     parameters:
234         - string:
235             name: BUILD_DIRECTORY
236             default: $WORKSPACE/build_output
237             description: "Directory where the build artifact will be located upon the completion of the build."
238         - string:
239             name: CACHE_DIRECTORY
240             default: $HOME/opnfv/cache/$INSTALLER_TYPE
241             description: "Directory where the cache to be used during the build is located."
242         - string:
243             name: GS_URL
244             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
245             description: "URL to Google Storage."
246
247 ########################
248 # trigger macros
249 ########################
250 # CI PODs
251 #-----------------------------------------------------------------
252 # Enea Armband CI Baremetal Triggers running against master branch
253 #-----------------------------------------------------------------
254 - trigger:
255     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
256     triggers:
257         - timed: '0 0 * * 1'
258 - trigger:
259     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
260     triggers:
261         - timed: '0 0 * * 2'
262 - trigger:
263     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
264     triggers:
265         - timed: '0 0 * * 3'
266 - trigger:
267     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
268     triggers:
269         - timed: '0 0 * * 4'
270 - trigger:
271     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger'
272     triggers:
273         - timed: '0 0 * * 5'
274 - trigger:
275     name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-master-trigger'
276     triggers:
277         - timed: '0 0 * * 6'
278 - trigger:
279     name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-master-trigger'
280     triggers:
281         - timed: '0 0 * * 7'
282
283 #----------------------------------------------------------------------
284 # Enea Armband CI Baremetal Triggers running against colorado branch
285 #----------------------------------------------------------------------
286 - trigger:
287     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger'
288     triggers:
289         - timed: '0 8 * * 1,3,5,7'
290 - trigger:
291     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger'
292     triggers:
293         - timed: '0 16 * * 2,7'
294 - trigger:
295     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger'
296     triggers:
297         - timed: '0 8 * * 2,4,6'
298 - trigger:
299     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger'
300     triggers:
301         - timed: '0 16 * * 1,4,6'
302 - trigger:
303     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger'
304     triggers:
305         - timed: '0 16 * * 3,5'
306 - trigger:
307     name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-colorado-trigger'
308     triggers:
309         - timed: ''
310 - trigger:
311     name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-colorado-trigger'
312     triggers:
313         - timed: ''
314 #---------------------------------------------------------------
315 # Enea Armband CI Virtual Triggers running against master branch
316 #---------------------------------------------------------------
317 - trigger:
318     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-master-trigger'
319     triggers:
320         - timed: '0 2 * * 1'
321 - trigger:
322     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
323     triggers:
324         - timed: '0 2 * * 2'
325 - trigger:
326     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger'
327     triggers:
328         - timed: '0 2 * * 3'
329 - trigger:
330     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-master-trigger'
331     triggers:
332         - timed: '0 2 * * 4'
333 - trigger:
334     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-master-trigger'
335     triggers:
336         - timed: '0 2 * * 5'
337 - trigger:
338     name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-master-trigger'
339     triggers:
340         - timed: '0 2 * * 6'
341 - trigger:
342     name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-master-trigger'
343     triggers:
344         - timed: '0 2 * * 7'
345 #--------------------------------------------------------------------
346 # Enea Armband CI Virtual Triggers running against colorado branch
347 #--------------------------------------------------------------------
348 - trigger:
349     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-colorado-trigger'
350     triggers:
351         - timed: ''
352 - trigger:
353     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-colorado-trigger'
354     triggers:
355         - timed: ''
356 - trigger:
357     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-colorado-trigger'
358     triggers:
359         - timed: ''
360 - trigger:
361     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-colorado-trigger'
362     triggers:
363         - timed: ''
364 - trigger:
365     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-colorado-trigger'
366     triggers:
367         - timed: ''
368 - trigger:
369     name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-colorado-trigger'
370     triggers:
371         - timed: ''
372 - trigger:
373     name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-colorado-trigger'
374     triggers:
375         - timed: ''
376 #----------------------------------------------------------
377 # Enea Armband POD 2 Triggers running against master branch
378 #----------------------------------------------------------
379 - trigger:
380     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-master-trigger'
381     triggers:
382         - timed: ''
383 - trigger:
384     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-master-trigger'
385     triggers:
386         - timed: ''
387 - trigger:
388     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-master-trigger'
389     triggers:
390         - timed: ''
391 - trigger:
392     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-master-trigger'
393     triggers:
394         - timed: ''
395 - trigger:
396     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-master-trigger'
397     triggers:
398         - timed: ''
399 - trigger:
400     name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-master-trigger'
401     triggers:
402         - timed: ''
403 - trigger:
404     name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-master-trigger'
405     triggers:
406         - timed: ''
407 #---------------------------------------------------------------
408 # Enea Armband POD 2 Triggers running against colorado branch
409 #---------------------------------------------------------------
410 - trigger:
411     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-colorado-trigger'
412     triggers:
413         - timed: ''
414 - trigger:
415     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-colorado-trigger'
416     triggers:
417         - timed: ''
418 - trigger:
419     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-colorado-trigger'
420     triggers:
421         - timed: ''
422 - trigger:
423     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-colorado-trigger'
424     triggers:
425         - timed: ''
426 - trigger:
427     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-colorado-trigger'
428     triggers:
429         - timed: ''
430 - trigger:
431     name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-colorado-trigger'
432     triggers:
433         - timed: ''
434 - trigger:
435     name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-colorado-trigger'
436     triggers:
437         - timed: ''
438 #----------------------------------------------------------
439 # Enea Armband POD 3 Triggers running against master branch
440 #----------------------------------------------------------
441 - trigger:
442     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-master-trigger'
443     triggers:
444         - timed: ''
445 - trigger:
446     name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-master-trigger'
447     triggers:
448         - timed: ''
449 - trigger:
450     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-master-trigger'
451     triggers:
452         - timed: ''
453 - trigger:
454     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-master-trigger'
455     triggers:
456         - timed: ''
457 - trigger:
458     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-master-trigger'
459     triggers:
460         - timed: ''
461 - trigger:
462     name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-master-trigger'
463     triggers:
464         - timed: ''
465 - trigger:
466     name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-master-trigger'
467     triggers:
468         - timed: ''
469 #---------------------------------------------------------------
470 # Enea Armband POD 3 Triggers running against colorado branch
471 #---------------------------------------------------------------
472 - trigger:
473     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-colorado-trigger'
474     triggers:
475         - timed: ''
476 - trigger:
477     name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-colorado-trigger'
478     triggers:
479         - timed: ''
480 - trigger:
481     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-colorado-trigger'
482     triggers:
483         - timed: ''
484 - trigger:
485     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-colorado-trigger'
486     triggers:
487         - timed: ''
488 - trigger:
489     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-colorado-trigger'
490     triggers:
491         - timed: ''
492 - trigger:
493     name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-colorado-trigger'
494     triggers:
495         - timed: ''
496 - trigger:
497     name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-colorado-trigger'
498     triggers:
499         - timed: ''