709592a8954aa7f09857a3acaa40ed757c56b6ec
[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         - logrotate-default
224         - throttle:
225             enabled: true
226             max-per-node: 1
227             option: 'project'
228
229     wrappers:
230         - build-name:
231             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
232         - timeout:
233             timeout: 180
234             abort: true
235
236     triggers:
237         - '{auto-trigger-name}'
238
239     parameters:
240         - project-parameter:
241             project: '{project}'
242         - gerrit-parameter:
243             branch: '{branch}'
244         - '{installer}-defaults'
245         - '{slave-label}-defaults'
246         - 'yardstick-params-{slave-label}'
247         - string:
248             name: DEPLOY_SCENARIO
249             default: 'os-odl_l2-nofeature-ha'
250         - string:
251             name: DOCKER_TAG
252             default: '{docker-tag}'
253             description: 'Tag to pull docker image'
254         - string:
255             name: YARDSTICK_SCENARIO_SUITE_NAME
256             default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
257             description: 'Path to test scenario suite'
258         - string:
259             name: CI_DEBUG
260             default: 'false'
261             description: "Show debut output information"
262
263     scm:
264         - git-scm
265
266     builders:
267         - description-setter:
268             description: "POD: $NODE_NAME"
269         - 'yardstick-cleanup'
270         #- 'yardstick-fetch-os-creds'
271         - 'yardstick-{testsuite}'
272         - 'yardstick-store-results'
273
274     publishers:
275         - email:
276             recipients: jean.gaoliang@huawei.com matthew.lijun@huawei.com
277
278 ########################
279 # builder macros
280 ########################
281 - builder:
282     name: yardstick-daily
283     builders:
284         - shell:
285             !include-raw: ./yardstick-daily.sh
286
287 - builder:
288     name: yardstick-vtcdaily
289     builders:
290         - shell:
291             !include-raw: ./yardstick-vtcdaily.sh
292
293 - builder:
294     name: yardstick-fetch-os-creds
295     builders:
296         - shell:
297             !include-raw: ../../utils/fetch_os_creds.sh
298
299 - builder:
300     name: yardstick-store-results
301     builders:
302         - shell:
303             !include-raw: ../../utils/push-test-logs.sh
304
305 - builder:
306     name: yardstick-cleanup
307     builders:
308         - shell:
309             !include-raw: ./yardstick-cleanup.sh
310 ########################
311 # parameter macros
312 ########################
313 - parameter:
314     name: 'yardstick-params-fuel-baremetal'
315     parameters:
316         - string:
317             name: YARDSTICK_DB_BACKEND
318             default: '-i 104.197.68.199:8086'
319             description: 'Arguments to use in order to choose the backend DB'
320 - parameter:
321     name: 'yardstick-params-fuel-virtual'
322     parameters:
323         - string:
324             name: YARDSTICK_DB_BACKEND
325             default: '-i 104.197.68.199:8086'
326             description: 'Arguments to use in order to choose the backend DB'
327 - parameter:
328     name: 'yardstick-params-armband-baremetal'
329     parameters:
330         - string:
331             name: YARDSTICK_DB_BACKEND
332             default: '-i 104.197.68.199:8086'
333             description: 'Arguments to use in order to choose the backend DB'
334 - parameter:
335     name: 'yardstick-params-armband-virtual'
336     parameters:
337         - string:
338             name: YARDSTICK_DB_BACKEND
339             default: '-i 104.197.68.199:8086'
340             description: 'Arguments to use in order to choose the backend DB'
341 - parameter:
342     name: 'yardstick-params-joid-baremetal'
343     parameters:
344         - string:
345             name: YARDSTICK_DB_BACKEND
346             default: '-i 104.197.68.199:8086'
347             description: 'Arguments to use in order to choose the backend DB'
348 - parameter:
349     name: 'yardstick-params-joid-virtual'
350     parameters:
351         - string:
352             name: YARDSTICK_DB_BACKEND
353             default: '-i 104.197.68.199:8086'
354             description: 'Arguments to use in order to choose the backend DB'
355 - parameter:
356     name: 'yardstick-params-intel-pod8'
357     parameters:
358         - string:
359             name: YARDSTICK_DB_BACKEND
360             default: '-i 104.197.68.199:8086'
361             description: 'Arguments to use in order to choose the backend DB'
362 - parameter:
363     name: 'yardstick-params-lf-pod1'
364     parameters:
365         - string:
366             name: YARDSTICK_DB_BACKEND
367             default: '-i 104.197.68.199:8086'
368             description: 'Arguments to use in order to choose the backend DB'
369
370 - parameter:
371     name: 'yardstick-params-lf-pod2'
372     parameters:
373         - string:
374             name: YARDSTICK_DB_BACKEND
375             default: '-i 104.197.68.199:8086'
376             description: 'Arguments to use in order to choose the backend DB'
377
378 - parameter:
379     name: 'yardstick-params-compass-baremetal'
380     parameters:
381         - string:
382             name: YARDSTICK_DB_BACKEND
383             default: '-i 104.197.68.199:8086'
384             description: 'Arguments to use in order to choose the backend DB'
385
386 - parameter:
387     name: 'yardstick-params-huawei-pod5'
388     parameters:
389         - string:
390             name: YARDSTICK_DB_BACKEND
391             default: '-i 104.197.68.199:8086'
392             description: 'Arguments to use in order to choose the backend DB'
393
394 - parameter:
395     name: 'yardstick-params-zte-pod1'
396     parameters:
397         - string:
398             name: YARDSTICK_DB_BACKEND
399             default: '-i 104.197.68.199:8086'
400             description: 'Arguments to use in order to choose the backend DB'
401
402 - parameter:
403     name: 'yardstick-params-zte-pod2'
404     parameters:
405         - string:
406             name: YARDSTICK_DB_BACKEND
407             default: '-i 104.197.68.199:8086'
408             description: 'Arguments to use in order to choose the backend DB'
409
410 - parameter:
411     name: 'yardstick-params-zte-pod3'
412     parameters:
413         - string:
414             name: YARDSTICK_DB_BACKEND
415             default: '-i 104.197.68.199:8086'
416             description: 'Arguments to use in order to choose the backend DB'
417
418 - parameter:
419     name: 'yardstick-params-orange-pod1'
420     parameters:
421         - string:
422             name: YARDSTICK_DB_BACKEND
423             default: '-i 104.197.68.199:8086'
424             description: 'Arguments to use in order to choose the backend DB'
425
426 - parameter:
427     name: 'yardstick-params-orange-pod2'
428     parameters:
429         - string:
430             name: YARDSTICK_DB_BACKEND
431             default: '-i 104.197.68.199:8086'
432             description: 'Arguments to use in order to choose the backend DB'
433
434 - parameter:
435     name: 'yardstick-params-arm-pod2'
436     parameters:
437         - string:
438             name: YARDSTICK_DB_BACKEND
439             default: '-i 104.197.68.199:8086'
440             description: 'Arguments to use in order to choose the backend DB'
441
442 - parameter:
443     name: 'yardstick-params-arm-pod3'
444     parameters:
445         - string:
446             name: YARDSTICK_DB_BACKEND
447             default: '-i 104.197.68.199:8086'
448             description: 'Arguments to use in order to choose the backend DB'
449
450 - parameter:
451     name: 'yardstick-params-virtual'
452     parameters:
453         - string:
454             name: YARDSTICK_DB_BACKEND
455             default: '-i 104.197.68.199:8086'
456             description: 'Arguments to use in order to choose the backend DB'
457
458 - parameter:
459     name: 'yardstick-params-compass-virtual'
460     parameters:
461         - string:
462             name: YARDSTICK_DB_BACKEND
463             default: '-i 104.197.68.199:8086'
464             description: 'Arguments to use in order to choose the backend DB'
465
466 - parameter:
467     name: 'yardstick-params-huawei-pod3'
468     parameters:
469         - string:
470             name: YARDSTICK_DB_BACKEND
471             default: '-i 104.197.68.199:8086'
472             description: 'Arguments to use in order to choose the backend DB'
473
474 - parameter:
475     name: 'yardstick-params-huawei-pod4'
476     parameters:
477         - string:
478             name: YARDSTICK_DB_BACKEND
479             default: '-i 104.197.68.199:8086'
480             description: 'Arguments to use in order to choose the backend DB'
481
482 #######################
483 ## trigger macros
484 #######################
485 # trigger for PODs to only run yardstick test suites
486 - trigger:
487     name: 'yardstick-daily-huawei-pod3-trigger'
488     triggers:
489         - timed: '0 1 * * *'
490
491 - trigger:
492     name: 'yardstick-daily-huawei-pod4-trigger'
493     triggers:
494         - timed: '0 1 * * *'