77718e181cf926cf66034d63950f460dd48641d7
[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             credentials-id: '{ssh-credentials}'
214             refspec: ''
215             branch: '{branch}'
216
217     wrappers:
218         - build-name:
219             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
220
221     builders:
222         - shell:
223             !include-raw-escape: ./armband-download-artifact.sh
224         - shell:
225             !include-raw-escape: ./armband-deploy.sh
226
227     publishers:
228         - email:
229             recipients: armband@enea.com
230
231 ########################
232 # parameter macros
233 ########################
234 - parameter:
235     name: armband-ci-parameter
236     parameters:
237         - string:
238             name: BUILD_DIRECTORY
239             default: $WORKSPACE/build_output
240             description: "Directory where the build artifact will be located upon the completion of the build."
241         - string:
242             name: CACHE_DIRECTORY
243             default: $HOME/opnfv/cache/$INSTALLER_TYPE
244             description: "Directory where the cache to be used during the build is located."
245         - string:
246             name: GS_URL
247             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
248             description: "URL to Google Storage."
249
250 ########################
251 # trigger macros
252 ########################
253 # CI PODs
254 #-----------------------------------------------------------------
255 # Enea Armband CI Baremetal Triggers running against master branch
256 #-----------------------------------------------------------------
257 - trigger:
258     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
259     triggers:
260         - timed: '0 0 * * 1'
261 - trigger:
262     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
263     triggers:
264         - timed: '0 0 * * 2'
265 - trigger:
266     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
267     triggers:
268         - timed: '0 0 * * 3'
269 - trigger:
270     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
271     triggers:
272         - timed: '0 0 * * 4'
273 - trigger:
274     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger'
275     triggers:
276         - timed: '0 0 * * 5'
277 - trigger:
278     name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-master-trigger'
279     triggers:
280         - timed: '0 0 * * 6'
281 - trigger:
282     name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-master-trigger'
283     triggers:
284         - timed: '0 0 * * 7'
285
286 #----------------------------------------------------------------------
287 # Enea Armband CI Baremetal Triggers running against colorado branch
288 #----------------------------------------------------------------------
289 - trigger:
290     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger'
291     triggers:
292         - timed: '0 8 * * 1,3,5,7'
293 - trigger:
294     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger'
295     triggers:
296         - timed: '0 16 * * 2,7'
297 - trigger:
298     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger'
299     triggers:
300         - timed: '0 8 * * 2,4,6'
301 - trigger:
302     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger'
303     triggers:
304         - timed: '0 16 * * 1,4,6'
305 - trigger:
306     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger'
307     triggers:
308         - timed: '0 16 * * 3,5'
309 - trigger:
310     name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-colorado-trigger'
311     triggers:
312         - timed: ''
313 - trigger:
314     name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-colorado-trigger'
315     triggers:
316         - timed: ''
317 #---------------------------------------------------------------
318 # Enea Armband CI Virtual Triggers running against master branch
319 #---------------------------------------------------------------
320 - trigger:
321     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-master-trigger'
322     triggers:
323         - timed: '0 2 * * 1'
324 - trigger:
325     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
326     triggers:
327         - timed: '0 2 * * 2'
328 - trigger:
329     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger'
330     triggers:
331         - timed: '0 2 * * 3'
332 - trigger:
333     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-master-trigger'
334     triggers:
335         - timed: '0 2 * * 4'
336 - trigger:
337     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-master-trigger'
338     triggers:
339         - timed: '0 2 * * 5'
340 - trigger:
341     name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-master-trigger'
342     triggers:
343         - timed: '0 2 * * 6'
344 - trigger:
345     name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-master-trigger'
346     triggers:
347         - timed: '0 2 * * 7'
348 #--------------------------------------------------------------------
349 # Enea Armband CI Virtual Triggers running against colorado branch
350 #--------------------------------------------------------------------
351 - trigger:
352     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-colorado-trigger'
353     triggers:
354         - timed: ''
355 - trigger:
356     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-colorado-trigger'
357     triggers:
358         - timed: ''
359 - trigger:
360     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-colorado-trigger'
361     triggers:
362         - timed: ''
363 - trigger:
364     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-colorado-trigger'
365     triggers:
366         - timed: ''
367 - trigger:
368     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-colorado-trigger'
369     triggers:
370         - timed: ''
371 - trigger:
372     name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-colorado-trigger'
373     triggers:
374         - timed: ''
375 - trigger:
376     name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-colorado-trigger'
377     triggers:
378         - timed: ''
379 #----------------------------------------------------------
380 # Enea Armband POD 2 Triggers running against master branch
381 #----------------------------------------------------------
382 - trigger:
383     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-master-trigger'
384     triggers:
385         - timed: ''
386 - trigger:
387     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-master-trigger'
388     triggers:
389         - timed: ''
390 - trigger:
391     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-master-trigger'
392     triggers:
393         - timed: ''
394 - trigger:
395     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-master-trigger'
396     triggers:
397         - timed: ''
398 - trigger:
399     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-master-trigger'
400     triggers:
401         - timed: ''
402 - trigger:
403     name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-master-trigger'
404     triggers:
405         - timed: ''
406 - trigger:
407     name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-master-trigger'
408     triggers:
409         - timed: ''
410 #---------------------------------------------------------------
411 # Enea Armband POD 2 Triggers running against colorado branch
412 #---------------------------------------------------------------
413 - trigger:
414     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-colorado-trigger'
415     triggers:
416         - timed: ''
417 - trigger:
418     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-colorado-trigger'
419     triggers:
420         - timed: ''
421 - trigger:
422     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-colorado-trigger'
423     triggers:
424         - timed: ''
425 - trigger:
426     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-colorado-trigger'
427     triggers:
428         - timed: ''
429 - trigger:
430     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-colorado-trigger'
431     triggers:
432         - timed: ''
433 - trigger:
434     name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-colorado-trigger'
435     triggers:
436         - timed: ''
437 - trigger:
438     name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-colorado-trigger'
439     triggers:
440         - timed: ''
441 #----------------------------------------------------------
442 # Enea Armband POD 3 Triggers running against master branch
443 #----------------------------------------------------------
444 - trigger:
445     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-master-trigger'
446     triggers:
447         - timed: ''
448 - trigger:
449     name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-master-trigger'
450     triggers:
451         - timed: ''
452 - trigger:
453     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-master-trigger'
454     triggers:
455         - timed: ''
456 - trigger:
457     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-master-trigger'
458     triggers:
459         - timed: ''
460 - trigger:
461     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-master-trigger'
462     triggers:
463         - timed: ''
464 - trigger:
465     name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-master-trigger'
466     triggers:
467         - timed: ''
468 - trigger:
469     name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-master-trigger'
470     triggers:
471         - timed: ''
472 #---------------------------------------------------------------
473 # Enea Armband POD 3 Triggers running against colorado branch
474 #---------------------------------------------------------------
475 - trigger:
476     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-colorado-trigger'
477     triggers:
478         - timed: ''
479 - trigger:
480     name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-colorado-trigger'
481     triggers:
482         - timed: ''
483 - trigger:
484     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-colorado-trigger'
485     triggers:
486         - timed: ''
487 - trigger:
488     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-colorado-trigger'
489     triggers:
490         - timed: ''
491 - trigger:
492     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-colorado-trigger'
493     triggers:
494         - timed: ''
495 - trigger:
496     name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-colorado-trigger'
497     triggers:
498         - timed: ''
499 - trigger:
500     name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-colorado-trigger'
501     triggers:
502         - timed: ''