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