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