604eaed25eea64041f3d7dfc721aea79ac6f2cab
[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         - baremetal-centos:
201             slave-label: 'intel-pod8'
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             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 - parameter:
385     name: 'yardstick-params-zte-pod1'
386     parameters:
387         - string:
388             name: YARDSTICK_DB_BACKEND
389             default: '-i 104.197.68.199:8086'
390             description: 'Arguments to use in order to choose the backend DB'
391
392 - parameter:
393     name: 'yardstick-params-zte-pod2'
394     parameters:
395         - string:
396             name: YARDSTICK_DB_BACKEND
397             default: '-i 104.197.68.199:8086'
398             description: 'Arguments to use in order to choose the backend DB'
399
400 - parameter:
401     name: 'yardstick-params-zte-pod3'
402     parameters:
403         - string:
404             name: YARDSTICK_DB_BACKEND
405             default: '-i 104.197.68.199:8086'
406             description: 'Arguments to use in order to choose the backend DB'
407
408 - parameter:
409     name: 'yardstick-params-orange-pod1'
410     parameters:
411         - string:
412             name: YARDSTICK_DB_BACKEND
413             default: '-i 104.197.68.199:8086'
414             description: 'Arguments to use in order to choose the backend DB'
415
416 - parameter:
417     name: 'yardstick-params-orange-pod2'
418     parameters:
419         - string:
420             name: YARDSTICK_DB_BACKEND
421             default: '-i 104.197.68.199:8086'
422             description: 'Arguments to use in order to choose the backend DB'
423
424 - parameter:
425     name: 'yardstick-params-arm-pod2'
426     parameters:
427         - string:
428             name: YARDSTICK_DB_BACKEND
429             default: '-i 104.197.68.199:8086'
430             description: 'Arguments to use in order to choose the backend DB'
431
432 - parameter:
433     name: 'yardstick-params-arm-pod3'
434     parameters:
435         - string:
436             name: YARDSTICK_DB_BACKEND
437             default: '-i 104.197.68.199:8086'
438             description: 'Arguments to use in order to choose the backend DB'
439
440 - parameter:
441     name: 'yardstick-params-virtual'
442     parameters:
443         - string:
444             name: YARDSTICK_DB_BACKEND
445             default: '-i 104.197.68.199:8086'
446             description: 'Arguments to use in order to choose the backend DB'
447
448 - parameter:
449     name: 'yardstick-params-compass-virtual'
450     parameters:
451         - string:
452             name: YARDSTICK_DB_BACKEND
453             default: '-i 104.197.68.199:8086'
454             description: 'Arguments to use in order to choose the backend DB'
455
456 - parameter:
457     name: 'yardstick-params-huawei-pod3'
458     parameters:
459         - string:
460             name: YARDSTICK_DB_BACKEND
461             default: '-i 104.197.68.199:8086'
462             description: 'Arguments to use in order to choose the backend DB'
463
464 - parameter:
465     name: 'yardstick-params-huawei-pod4'
466     parameters:
467         - string:
468             name: YARDSTICK_DB_BACKEND
469             default: '-i 104.197.68.199:8086'
470             description: 'Arguments to use in order to choose the backend DB'
471
472 #######################
473 ## trigger macros
474 #######################
475 # trigger for PODs to only run yardstick test suites
476 - trigger:
477     name: 'yardstick-daily-huawei-pod3-trigger'
478     triggers:
479         - timed: '0 1 * * *'
480
481 - trigger:
482     name: 'yardstick-daily-huawei-pod4-trigger'
483     triggers:
484         - timed: '0 1 * * *'