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