ff855c1e06fdc67d3d8011a63c68ad0c88fc253d
[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         disabled: false
14     danube: &danube
15         stream: danube
16         branch: 'stable/{stream}'
17         gs-pathname: '/{stream}'
18         disabled: false
19 #--------------------------------
20 # POD, INSTALLER, AND BRANCH MAPPING
21 #--------------------------------
22 # CI POD's
23 #--------------------------------
24 #        danube
25 #--------------------------------
26     pod:
27         - armband-baremetal:
28             slave-label: armband-baremetal
29             installer: fuel
30             <<: *danube
31         - armband-virtual:
32             slave-label: armband-virtual
33             installer: fuel
34             <<: *danube
35 #--------------------------------
36 #        master
37 #--------------------------------
38         - armband-baremetal:
39             slave-label: armband-baremetal
40             installer: fuel
41             <<: *master
42         - armband-virtual:
43             slave-label: armband-virtual
44             installer: fuel
45             <<: *master
46 #--------------------------------
47 # NONE-CI POD's
48 #--------------------------------
49 #        danube
50 #--------------------------------
51         - arm-pod2:
52             slave-label: arm-pod2
53             installer: fuel
54             <<: *danube
55         - arm-pod3:
56             slave-label: arm-pod3
57             installer: fuel
58             <<: *danube
59         - arm-pod3-2:
60             slave-label: arm-pod3-2
61             installer: fuel
62             <<: *danube
63         - arm-virtual1:
64             slave-label: arm-virtual1
65             installer: fuel
66             <<: *danube
67 #--------------------------------
68 #        master
69 #--------------------------------
70         - arm-pod2:
71             slave-label: arm-pod2
72             installer: fuel
73             <<: *master
74         - arm-pod3:
75             slave-label: arm-pod3
76             installer: fuel
77             <<: *master
78         - arm-pod3-2:
79             slave-label: arm-pod3-2
80             installer: fuel
81             <<: *master
82         - arm-virtual1:
83             slave-label: arm-virtual1
84             installer: fuel
85             <<: *master
86 #--------------------------------
87 #       scenarios
88 #--------------------------------
89     scenario:
90         # HA scenarios
91         - 'os-nosdn-nofeature-ha':
92             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
93         - 'os-odl_l2-nofeature-ha':
94             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
95         - 'os-odl_l3-nofeature-ha':
96             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
97         - 'os-odl_l2-bgpvpn-ha':
98             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
99         - 'os-odl_l2-sfc-ha':
100             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
101
102         # NOHA scenarios
103         - 'os-odl_l2-nofeature-noha':
104             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
105         - 'os-odl_l2-sfc-noha':
106             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
107
108     jobs:
109         - '{installer}-{scenario}-{pod}-daily-{stream}'
110         - '{installer}-deploy-{pod}-daily-{stream}'
111
112 ########################
113 # job templates
114 ########################
115 - job-template:
116     name: '{installer}-{scenario}-{pod}-daily-{stream}'
117
118     disabled: '{obj:disabled}'
119
120     concurrent: false
121
122     properties:
123         - logrotate-default
124         - throttle:
125             enabled: true
126             max-total: 4
127             max-per-node: 1
128             option: 'project'
129         - build-blocker:
130             use-build-blocker: true
131             blocking-jobs:
132                 - '{installer}-os-.*?-{pod}-daily-.*'
133             block-level: 'NODE'
134
135     wrappers:
136         - build-name:
137             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
138
139     triggers:
140         - '{auto-trigger-name}'
141
142     parameters:
143         - project-parameter:
144             project: '{project}'
145             branch: '{branch}'
146         - '{installer}-defaults'
147         - '{slave-label}-defaults':
148             installer: '{installer}'
149         - string:
150             name: DEPLOY_SCENARIO
151             default: '{scenario}'
152         - armband-ci-parameter:
153             gs-pathname: '{gs-pathname}'
154
155     builders:
156         - trigger-builds:
157             - project: '{installer}-deploy-{pod}-daily-{stream}'
158               current-parameters: false
159               predefined-parameters:
160                 DEPLOY_SCENARIO={scenario}
161               same-node: true
162               block: true
163         - trigger-builds:
164             - project: 'functest-{installer}-{pod}-daily-{stream}'
165               current-parameters: false
166               predefined-parameters:
167                 DEPLOY_SCENARIO={scenario}
168               block: true
169               same-node: true
170               block-thresholds:
171                 build-step-failure-threshold: 'never'
172                 failure-threshold: 'never'
173                 unstable-threshold: 'FAILURE'
174         - trigger-builds:
175             - project: 'yardstick-{installer}-{pod}-daily-{stream}'
176               current-parameters: false
177               predefined-parameters:
178                 DEPLOY_SCENARIO={scenario}
179               block: true
180               same-node: true
181               block-thresholds:
182                 build-step-failure-threshold: 'never'
183                 failure-threshold: 'never'
184                 unstable-threshold: 'FAILURE'
185         # 1.dovetail only master by now, not sync with A/B/C branches
186         # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
187         # 3.only debug testsuite here(includes 3 basic testcase,
188         #   i.e. one tempest smoke ipv6, two vping from functest)
189         # 4.not used for release criteria or compliance,
190         #   only to debug the dovetail tool bugs with arm pods
191         - trigger-builds:
192             - project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}'
193               current-parameters: false
194               predefined-parameters:
195                 DEPLOY_SCENARIO={scenario}
196               block: true
197               same-node: true
198               block-thresholds:
199                 build-step-failure-threshold: 'never'
200                 failure-threshold: 'never'
201                 unstable-threshold: 'FAILURE'
202
203 - job-template:
204     name: '{installer}-deploy-{pod}-daily-{stream}'
205
206     concurrent: true
207
208     properties:
209         - logrotate-default
210         - throttle:
211             enabled: true
212             max-total: 4
213             max-per-node: 1
214             option: 'project'
215         - build-blocker:
216             use-build-blocker: true
217             blocking-jobs:
218                 - '{installer}-deploy-{pod}-daily-{stream}'
219                 - '{installer}-deploy-generic-daily-.*'
220             block-level: 'NODE'
221
222     parameters:
223         - project-parameter:
224             project: '{project}'
225             branch: '{branch}'
226         - '{installer}-defaults'
227         - '{slave-label}-defaults':
228             installer: '{installer}'
229         - string:
230             name: DEPLOY_SCENARIO
231             default: 'os-odl_l2-nofeature-ha'
232         - armband-ci-parameter:
233             gs-pathname: '{gs-pathname}'
234
235     scm:
236         - git-scm
237
238     wrappers:
239         - build-name:
240             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
241
242     builders:
243         - shell:
244             !include-raw-escape: ./armband-download-artifact.sh
245         - shell:
246             !include-raw-escape: ./armband-deploy.sh
247
248     publishers:
249         - email:
250             recipients: armband@enea.com
251
252 ########################
253 # parameter macros
254 ########################
255 - parameter:
256     name: armband-ci-parameter
257     parameters:
258         - string:
259             name: BUILD_DIRECTORY
260             default: $WORKSPACE/build_output
261             description: "Directory where the build artifact will be located upon the completion of the build."
262         - string:
263             name: CACHE_DIRECTORY
264             default: $HOME/opnfv/cache/$INSTALLER_TYPE
265             description: "Directory where the cache to be used during the build is located."
266         - string:
267             name: GS_URL
268             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
269             description: "URL to Google Storage."
270
271 ########################
272 # trigger macros
273 ########################
274 # CI PODs
275 #-----------------------------------------------------------------
276 # Enea Armband CI Baremetal Triggers running against master branch
277 #-----------------------------------------------------------------
278 - trigger:
279     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
280     triggers:
281         - timed: '0 0 * * 1'
282 - trigger:
283     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
284     triggers:
285         - timed: '0 0 * * 2'
286 - trigger:
287     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
288     triggers:
289         - timed: '0 0 * * 3'
290 - trigger:
291     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
292     triggers:
293         - timed: '0 0 * * 4'
294 - trigger:
295     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger'
296     triggers:
297         - timed: '0 0 * * 5'
298 - trigger:
299     name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-master-trigger'
300     triggers:
301         - timed: '0 0,20 * * 6'
302 - trigger:
303     name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-master-trigger'
304     triggers:
305         - timed: '0 0,20 * * 7'
306
307 #----------------------------------------------------------------------
308 # Enea Armband CI Baremetal Triggers running against danube branch
309 #----------------------------------------------------------------------
310 - trigger:
311     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-danube-trigger'
312     triggers:
313         - timed: '0 4 * * 1,2,3,4,5'
314 - trigger:
315     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-danube-trigger'
316     triggers:
317         - timed: '0 8 * * 1,2,3,4,5'
318 - trigger:
319     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-danube-trigger'
320     triggers:
321         - timed: '0 12 * * 1,2,3,4,5'
322 - trigger:
323     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-danube-trigger'
324     triggers:
325         - timed: '0 16 * * 1,2,3,4,5'
326 - trigger:
327     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-danube-trigger'
328     triggers:
329         - timed: '0 20 * * 1,2,3,4,5'
330 - trigger:
331     name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-danube-trigger'
332     triggers:
333         - timed: '0 4,8 * * 6,7'
334 - trigger:
335     name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-danube-trigger'
336     triggers:
337         - timed: '0 12,16 * * 6,7'
338 #---------------------------------------------------------------
339 # Enea Armband CI Virtual Triggers running against master branch
340 #---------------------------------------------------------------
341 - trigger:
342     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-master-trigger'
343     triggers:
344         - timed: ''
345 - trigger:
346     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
347     triggers:
348         - timed: ''
349 - trigger:
350     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger'
351     triggers:
352         - timed: ''
353 - trigger:
354     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-master-trigger'
355     triggers:
356         - timed: ''
357 - trigger:
358     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-master-trigger'
359     triggers:
360         - timed: ''
361 - trigger:
362     name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-master-trigger'
363     triggers:
364         - timed: ''
365 - trigger:
366     name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-master-trigger'
367     triggers:
368         - timed: ''
369 #--------------------------------------------------------------------
370 # Enea Armband CI Virtual Triggers running against danube branch
371 #--------------------------------------------------------------------
372 - trigger:
373     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-danube-trigger'
374     triggers:
375         - timed: ''
376 - trigger:
377     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-danube-trigger'
378     triggers:
379         - timed: ''
380 - trigger:
381     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-danube-trigger'
382     triggers:
383         - timed: ''
384 - trigger:
385     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-danube-trigger'
386     triggers:
387         - timed: ''
388 - trigger:
389     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-danube-trigger'
390     triggers:
391         - timed: ''
392 - trigger:
393     name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-danube-trigger'
394     triggers:
395         - timed: ''
396 - trigger:
397     name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-danube-trigger'
398     triggers:
399         - timed: ''
400
401 #--------------------------------------------------------------------
402 # Enea Armband Non CI Virtual Triggers running against danube branch
403 #--------------------------------------------------------------------
404 - trigger:
405     name: 'fuel-os-odl_l2-nofeature-ha-arm-virtual1-danube-trigger'
406     triggers:
407         - timed: ''
408 - trigger:
409     name: 'fuel-os-nosdn-nofeature-ha-arm-virtual1-danube-trigger'
410     triggers:
411         - timed: ''
412 - trigger:
413     name: 'fuel-os-odl_l3-nofeature-ha-arm-virtual1-danube-trigger'
414     triggers:
415         - timed: ''
416 - trigger:
417     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-virtual1-danube-trigger'
418     triggers:
419         - timed: ''
420 - trigger:
421     name: 'fuel-os-odl_l2-nofeature-noha-arm-virtual1-danube-trigger'
422     triggers:
423         - timed: ''
424 - trigger:
425     name: 'fuel-os-odl_l2-sfc-ha-arm-virtual1-danube-trigger'
426     triggers:
427         - timed: ''
428 - trigger:
429     name: 'fuel-os-odl_l2-sfc-noha-arm-virtual1-danube-trigger'
430     triggers:
431         - timed: ''
432
433 #--------------------------------------------------------------------
434 # Enea Armband Non CI Virtual Triggers running against master branch
435 #--------------------------------------------------------------------
436 - trigger:
437     name: 'fuel-os-odl_l2-nofeature-ha-arm-virtual1-master-trigger'
438     triggers:
439         - timed: ''
440 - trigger:
441     name: 'fuel-os-nosdn-nofeature-ha-arm-virtual1-master-trigger'
442     triggers:
443         - timed: ''
444 - trigger:
445     name: 'fuel-os-odl_l3-nofeature-ha-arm-virtual1-master-trigger'
446     triggers:
447         - timed: ''
448 - trigger:
449     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-virtual1-master-trigger'
450     triggers:
451         - timed: ''
452 - trigger:
453     name: 'fuel-os-odl_l2-nofeature-noha-arm-virtual1-master-trigger'
454     triggers:
455         - timed: ''
456 - trigger:
457     name: 'fuel-os-odl_l2-sfc-ha-arm-virtual1-master-trigger'
458     triggers:
459         - timed: ''
460 - trigger:
461     name: 'fuel-os-odl_l2-sfc-noha-arm-virtual1-master-trigger'
462     triggers:
463         - timed: ''
464
465 #----------------------------------------------------------
466 # Enea Armband POD 2 Triggers running against master branch
467 #----------------------------------------------------------
468 - trigger:
469     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-master-trigger'
470     triggers:
471         - timed: ''
472 - trigger:
473     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-master-trigger'
474     triggers:
475         - timed: ''
476 - trigger:
477     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-master-trigger'
478     triggers:
479         - timed: ''
480 - trigger:
481     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-master-trigger'
482     triggers:
483         - timed: ''
484 - trigger:
485     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-master-trigger'
486     triggers:
487         - timed: ''
488 - trigger:
489     name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-master-trigger'
490     triggers:
491         - timed: ''
492 - trigger:
493     name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-master-trigger'
494     triggers:
495         - timed: ''
496 #---------------------------------------------------------------
497 # Enea Armband POD 2 Triggers running against danube branch
498 #---------------------------------------------------------------
499 - trigger:
500     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-danube-trigger'
501     triggers:
502         - timed: ''
503 - trigger:
504     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-danube-trigger'
505     triggers:
506         - timed: ''
507 - trigger:
508     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-danube-trigger'
509     triggers:
510         - timed: ''
511 - trigger:
512     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-danube-trigger'
513     triggers:
514         - timed: ''
515 - trigger:
516     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-danube-trigger'
517     triggers:
518         - timed: ''
519 - trigger:
520     name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-danube-trigger'
521     triggers:
522         - timed: ''
523 - trigger:
524     name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-danube-trigger'
525     triggers:
526         - timed: ''
527 #----------------------------------------------------------
528 # Enea Armband POD 3 Triggers running against master branch
529 #----------------------------------------------------------
530 - trigger:
531     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-master-trigger'
532     triggers:
533         - timed: ''
534 - trigger:
535     name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-master-trigger'
536     triggers:
537         - timed: ''
538 - trigger:
539     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-master-trigger'
540     triggers:
541         - timed: ''
542 - trigger:
543     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-master-trigger'
544     triggers:
545         - timed: ''
546 - trigger:
547     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-master-trigger'
548     triggers:
549         - timed: ''
550 - trigger:
551     name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-master-trigger'
552     triggers:
553         - timed: ''
554 - trigger:
555     name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-master-trigger'
556     triggers:
557         - timed: ''
558 #---------------------------------------------------------------
559 # Enea Armband POD 3 Triggers running against danube branch
560 #---------------------------------------------------------------
561 - trigger:
562     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-danube-trigger'
563     triggers:
564         - timed: ''
565 - trigger:
566     name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-danube-trigger'
567     triggers:
568         - timed: ''
569 - trigger:
570     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-danube-trigger'
571     triggers:
572         - timed: ''
573 - trigger:
574     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-danube-trigger'
575     triggers:
576         - timed: ''
577 - trigger:
578     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-danube-trigger'
579     triggers:
580         - timed: ''
581 - trigger:
582     name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-danube-trigger'
583     triggers:
584         - timed: ''
585 - trigger:
586     name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-danube-trigger'
587     triggers:
588         - timed: ''
589 #--------------------------------------------------------------------------
590 # Enea Armband POD 3 Triggers running against master branch (aarch64 slave)
591 #--------------------------------------------------------------------------
592 - trigger:
593     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-2-master-trigger'
594     triggers:
595         - timed: ''
596 - trigger:
597     name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-2-master-trigger'
598     triggers:
599         - timed: ''
600 - trigger:
601     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-2-master-trigger'
602     triggers:
603         - timed: ''
604 - trigger:
605     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-2-master-trigger'
606     triggers:
607         - timed: ''
608 - trigger:
609     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-2-master-trigger'
610     triggers:
611         - timed: ''
612 - trigger:
613     name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-2-master-trigger'
614     triggers:
615         - timed: ''
616 - trigger:
617     name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-2-master-trigger'
618     triggers:
619         - timed: ''
620 #--------------------------------------------------------------------------
621 # Enea Armband POD 3 Triggers running against danube branch (aarch64 slave)
622 #--------------------------------------------------------------------------
623 - trigger:
624     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-2-danube-trigger'
625     triggers:
626         - timed: ''
627 - trigger:
628     name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-2-danube-trigger'
629     triggers:
630         - timed: ''
631 - trigger:
632     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-2-danube-trigger'
633     triggers:
634         - timed: ''
635 - trigger:
636     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-2-danube-trigger'
637     triggers:
638         - timed: ''
639 - trigger:
640     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-2-danube-trigger'
641     triggers:
642         - timed: ''
643 - trigger:
644     name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-2-danube-trigger'
645     triggers:
646         - timed: ''
647 - trigger:
648     name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-2-danube-trigger'
649     triggers:
650         - timed: ''