ed2dccab8258974f1dae05816d22954967bcf67a
[releng.git] / jjb / yardstick / yardstick-ci-jobs.yml
1 ###################################
2 # job configuration for yardstick
3 ###################################
4 - project:
5     name: yardstick
6
7     project: '{name}'
8
9 #--------------------------------
10 # BRANCH ANCHORS
11 #--------------------------------
12     master: &master
13         stream: master
14         branch: '{stream}'
15         gs-pathname: ''
16         docker-tag: 'latest'
17     danube: &danube
18         stream: danube
19         branch: 'stable/{stream}'
20         gs-pathname: '{stream}'
21         docker-tag: 'stable'
22 #--------------------------------
23 # POD, INSTALLER, AND BRANCH MAPPING
24 #--------------------------------
25 #    Installers using labels
26 #            CI PODs
27 # This section should only contain the installers
28 # that have been switched using labels for slaves
29 #--------------------------------
30     pod:
31 # fuel CI PODs
32         - baremetal:
33             slave-label: fuel-baremetal
34             installer: fuel
35             auto-trigger-name: 'daily-trigger-disabled'
36             <<: *master
37         - virtual:
38             slave-label: fuel-virtual
39             installer: fuel
40             auto-trigger-name: 'daily-trigger-disabled'
41             <<: *master
42         - baremetal:
43             slave-label: fuel-baremetal
44             installer: fuel
45             auto-trigger-name: 'daily-trigger-disabled'
46             <<: *danube
47         - virtual:
48             slave-label: fuel-virtual
49             installer: fuel
50             auto-trigger-name: 'daily-trigger-disabled'
51             <<: *danube
52 # armband CI PODs
53         - armband-baremetal:
54             slave-label: armband-baremetal
55             installer: fuel
56             auto-trigger-name: 'daily-trigger-disabled'
57             <<: *master
58         - armband-virtual:
59             slave-label: armband-virtual
60             installer: fuel
61             auto-trigger-name: 'daily-trigger-disabled'
62             <<: *master
63         - armband-baremetal:
64             slave-label: armband-baremetal
65             installer: fuel
66             auto-trigger-name: 'daily-trigger-disabled'
67             <<: *danube
68         - armband-virtual:
69             slave-label: armband-virtual
70             installer: fuel
71             auto-trigger-name: 'daily-trigger-disabled'
72             <<: *danube
73 # joid CI PODs
74         - baremetal:
75             slave-label: joid-baremetal
76             installer: joid
77             auto-trigger-name: 'daily-trigger-disabled'
78             <<: *master
79         - virtual:
80             slave-label: joid-virtual
81             installer: joid
82             auto-trigger-name: 'daily-trigger-disabled'
83             <<: *master
84         - baremetal:
85             slave-label: joid-baremetal
86             installer: joid
87             auto-trigger-name: 'daily-trigger-disabled'
88             <<: *danube
89         - virtual:
90             slave-label: joid-virtual
91             installer: joid
92             auto-trigger-name: 'daily-trigger-disabled'
93             <<: *danube
94
95 # compass CI PODs
96         - baremetal:
97             slave-label: compass-baremetal
98             installer: compass
99             auto-trigger-name: 'daily-trigger-disabled'
100             <<: *master
101         - virtual:
102             slave-label: compass-virtual
103             installer: compass
104             auto-trigger-name: 'daily-trigger-disabled'
105             <<: *master
106         - baremetal:
107             slave-label: compass-baremetal
108             installer: compass
109             auto-trigger-name: 'daily-trigger-disabled'
110             <<: *danube
111         - virtual:
112             slave-label: compass-virtual
113             installer: compass
114             auto-trigger-name: 'daily-trigger-disabled'
115             <<: *danube
116 #--------------------------------
117 #    Installers not using labels
118 #            CI PODs
119 # This section should only contain the installers
120 # that have not been switched using labels for slaves
121 #--------------------------------
122         - lf-pod1:
123             slave-label: '{pod}'
124             installer: apex
125             auto-trigger-name: 'daily-trigger-disabled'
126             <<: *master
127         - lf-pod1:
128             slave-label: '{pod}'
129             installer: apex
130             auto-trigger-name: 'daily-trigger-disabled'
131             <<: *danube
132 #--------------------------------
133 #        None-CI PODs
134 #--------------------------------
135         - orange-pod1:
136             slave-label: '{pod}'
137             installer: joid
138             auto-trigger-name: 'daily-trigger-disabled'
139             <<: *master
140         - zte-pod1:
141             slave-label: '{pod}'
142             installer: fuel
143             auto-trigger-name: 'daily-trigger-disabled'
144             <<: *master
145         - zte-pod1:
146             slave-label: '{pod}'
147             installer: fuel
148             auto-trigger-name: 'daily-trigger-disabled'
149             <<: *danube
150         - zte-pod2:
151             slave-label: '{pod}'
152             installer: fuel
153             auto-trigger-name: 'daily-trigger-disabled'
154             <<: *master
155         - zte-pod3:
156             slave-label: '{pod}'
157             installer: fuel
158             auto-trigger-name: 'daily-trigger-disabled'
159             <<: *master
160         - zte-pod3:
161             slave-label: '{pod}'
162             installer: fuel
163             auto-trigger-name: 'daily-trigger-disabled'
164             <<: *danube
165         - arm-pod2:
166             slave-label: '{pod}'
167             installer: fuel
168             auto-trigger-name: 'daily-trigger-disabled'
169             <<: *master
170         - arm-pod2:
171             slave-label: '{pod}'
172             installer: fuel
173             auto-trigger-name: 'daily-trigger-disabled'
174             <<: *danube
175         - arm-pod3:
176             slave-label: '{pod}'
177             installer: fuel
178             auto-trigger-name: 'daily-trigger-disabled'
179             <<: *master
180         - arm-pod3:
181             slave-label: '{pod}'
182             installer: fuel
183             auto-trigger-name: 'daily-trigger-disabled'
184             <<: *danube
185         - orange-pod2:
186             slave-label: '{pod}'
187             installer: joid
188             auto-trigger-name: 'daily-trigger-disabled'
189             <<: *master
190         - huawei-pod3:
191             slave-label: '{pod}'
192             installer: compass
193             auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
194             <<: *master
195         - huawei-pod4:
196             slave-label: '{pod}'
197             installer: compass
198             auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
199             <<: *master
200         - huawei-pod5:
201             slave-label: '{pod}'
202             installer: compass
203             auto-trigger-name: 'daily-trigger-disabled'
204             <<: *master
205 #--------------------------------
206     testsuite:
207         - 'daily'
208
209     jobs:
210         - 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
211
212 ################################
213 # job templates
214 ################################
215 - job-template:
216     name: 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
217
218     disabled: false
219
220     concurrent: true
221
222     properties:
223         - throttle:
224             enabled: true
225             max-per-node: 1
226             option: 'project'
227
228     wrappers:
229         - build-name:
230             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
231         - timeout:
232             timeout: 180
233             abort: true
234
235     triggers:
236         - '{auto-trigger-name}'
237
238     parameters:
239         - project-parameter:
240             project: '{project}'
241         - gerrit-parameter:
242             branch: '{branch}'
243         - '{installer}-defaults'
244         - '{slave-label}-defaults'
245         - 'yardstick-params-{slave-label}'
246         - string:
247             name: DEPLOY_SCENARIO
248             default: 'os-odl_l2-nofeature-ha'
249         - string:
250             name: DOCKER_TAG
251             default: '{docker-tag}'
252             description: 'Tag to pull docker image'
253         - string:
254             name: YARDSTICK_SCENARIO_SUITE_NAME
255             default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
256             description: 'Path to test scenario suite'
257         - string:
258             name: CI_DEBUG
259             default: 'false'
260             description: "Show debut output information"
261
262     scm:
263         - git-scm
264
265     builders:
266         - description-setter:
267             description: "POD: $NODE_NAME"
268         - 'yardstick-cleanup'
269         #- 'yardstick-fetch-os-creds'
270         - 'yardstick-{testsuite}'
271         - 'yardstick-store-results'
272
273     publishers:
274         - email:
275             recipients: jean.gaoliang@huawei.com matthew.lijun@huawei.com
276
277 ########################
278 # builder macros
279 ########################
280 - builder:
281     name: yardstick-daily
282     builders:
283         - shell:
284             !include-raw: ./yardstick-daily.sh
285
286 - builder:
287     name: yardstick-vtcdaily
288     builders:
289         - shell:
290             !include-raw: ./yardstick-vtcdaily.sh
291
292 - builder:
293     name: yardstick-fetch-os-creds
294     builders:
295         - shell:
296             !include-raw: ../../utils/fetch_os_creds.sh
297
298 - builder:
299     name: yardstick-store-results
300     builders:
301         - shell:
302             !include-raw: ../../utils/push-test-logs.sh
303
304 - builder:
305     name: yardstick-cleanup
306     builders:
307         - shell:
308             !include-raw: ./yardstick-cleanup.sh
309 ########################
310 # parameter macros
311 ########################
312 - parameter:
313     name: 'yardstick-params-fuel-baremetal'
314     parameters:
315         - string:
316             name: YARDSTICK_DB_BACKEND
317             default: '-i 104.197.68.199:8086'
318             description: 'Arguments to use in order to choose the backend DB'
319 - parameter:
320     name: 'yardstick-params-fuel-virtual'
321     parameters:
322         - string:
323             name: YARDSTICK_DB_BACKEND
324             default: '-i 104.197.68.199:8086'
325             description: 'Arguments to use in order to choose the backend DB'
326 - parameter:
327     name: 'yardstick-params-armband-baremetal'
328     parameters:
329         - string:
330             name: YARDSTICK_DB_BACKEND
331             default: '-i 104.197.68.199:8086'
332             description: 'Arguments to use in order to choose the backend DB'
333 - parameter:
334     name: 'yardstick-params-armband-virtual'
335     parameters:
336         - string:
337             name: YARDSTICK_DB_BACKEND
338             default: '-i 104.197.68.199:8086'
339             description: 'Arguments to use in order to choose the backend DB'
340 - parameter:
341     name: 'yardstick-params-joid-baremetal'
342     parameters:
343         - string:
344             name: YARDSTICK_DB_BACKEND
345             default: '-i 104.197.68.199:8086'
346             description: 'Arguments to use in order to choose the backend DB'
347 - parameter:
348     name: 'yardstick-params-joid-virtual'
349     parameters:
350         - string:
351             name: YARDSTICK_DB_BACKEND
352             default: '-i 104.197.68.199:8086'
353             description: 'Arguments to use in order to choose the backend DB'
354 - parameter:
355     name: 'yardstick-params-intel-pod8'
356     parameters:
357         - string:
358             name: YARDSTICK_DB_BACKEND
359             default: '-i 104.197.68.199:8086'
360             description: 'Arguments to use in order to choose the backend DB'
361 - parameter:
362     name: 'yardstick-params-lf-pod1'
363     parameters:
364         - string:
365             name: YARDSTICK_DB_BACKEND
366             default: '-i 104.197.68.199:8086'
367             description: 'Arguments to use in order to choose the backend DB'
368
369 - parameter:
370     name: 'yardstick-params-lf-pod2'
371     parameters:
372         - string:
373             name: YARDSTICK_DB_BACKEND
374             default: '-i 104.197.68.199:8086'
375             description: 'Arguments to use in order to choose the backend DB'
376
377 - parameter:
378     name: 'yardstick-params-compass-baremetal'
379     parameters:
380         - string:
381             name: YARDSTICK_DB_BACKEND
382             default: '-i 104.197.68.199:8086'
383             description: 'Arguments to use in order to choose the backend DB'
384
385 - parameter:
386     name: 'yardstick-params-huawei-pod5'
387     parameters:
388         - string:
389             name: YARDSTICK_DB_BACKEND
390             default: '-i 104.197.68.199:8086'
391             description: 'Arguments to use in order to choose the backend DB'
392
393 - parameter:
394     name: 'yardstick-params-zte-pod1'
395     parameters:
396         - string:
397             name: YARDSTICK_DB_BACKEND
398             default: '-i 104.197.68.199:8086'
399             description: 'Arguments to use in order to choose the backend DB'
400
401 - parameter:
402     name: 'yardstick-params-zte-pod2'
403     parameters:
404         - string:
405             name: YARDSTICK_DB_BACKEND
406             default: '-i 104.197.68.199:8086'
407             description: 'Arguments to use in order to choose the backend DB'
408
409 - parameter:
410     name: 'yardstick-params-zte-pod3'
411     parameters:
412         - string:
413             name: YARDSTICK_DB_BACKEND
414             default: '-i 104.197.68.199:8086'
415             description: 'Arguments to use in order to choose the backend DB'
416
417 - parameter:
418     name: 'yardstick-params-orange-pod1'
419     parameters:
420         - string:
421             name: YARDSTICK_DB_BACKEND
422             default: '-i 104.197.68.199:8086'
423             description: 'Arguments to use in order to choose the backend DB'
424
425 - parameter:
426     name: 'yardstick-params-orange-pod2'
427     parameters:
428         - string:
429             name: YARDSTICK_DB_BACKEND
430             default: '-i 104.197.68.199:8086'
431             description: 'Arguments to use in order to choose the backend DB'
432
433 - parameter:
434     name: 'yardstick-params-arm-pod2'
435     parameters:
436         - string:
437             name: YARDSTICK_DB_BACKEND
438             default: '-i 104.197.68.199:8086'
439             description: 'Arguments to use in order to choose the backend DB'
440
441 - parameter:
442     name: 'yardstick-params-arm-pod3'
443     parameters:
444         - string:
445             name: YARDSTICK_DB_BACKEND
446             default: '-i 104.197.68.199:8086'
447             description: 'Arguments to use in order to choose the backend DB'
448
449 - parameter:
450     name: 'yardstick-params-virtual'
451     parameters:
452         - string:
453             name: YARDSTICK_DB_BACKEND
454             default: '-i 104.197.68.199:8086'
455             description: 'Arguments to use in order to choose the backend DB'
456
457 - parameter:
458     name: 'yardstick-params-compass-virtual'
459     parameters:
460         - string:
461             name: YARDSTICK_DB_BACKEND
462             default: '-i 104.197.68.199:8086'
463             description: 'Arguments to use in order to choose the backend DB'
464
465 - parameter:
466     name: 'yardstick-params-huawei-pod3'
467     parameters:
468         - string:
469             name: YARDSTICK_DB_BACKEND
470             default: '-i 104.197.68.199:8086'
471             description: 'Arguments to use in order to choose the backend DB'
472
473 - parameter:
474     name: 'yardstick-params-huawei-pod4'
475     parameters:
476         - string:
477             name: YARDSTICK_DB_BACKEND
478             default: '-i 104.197.68.199:8086'
479             description: 'Arguments to use in order to choose the backend DB'
480
481 #######################
482 ## trigger macros
483 #######################
484 # trigger for PODs to only run yardstick test suites
485 - trigger:
486     name: 'yardstick-daily-huawei-pod3-trigger'
487     triggers:
488         - timed: '0 1 * * *'
489
490 - trigger:
491     name: 'yardstick-daily-huawei-pod4-trigger'
492     triggers:
493         - timed: '0 1 * * *'