4442376febd3da8e15b1299608ed0c3ea8ae8eea
[releng.git] / jjb / yardstick / yardstick-ci-jobs.yml
1 ###################################
2 # job configuration for functest
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     brahmaputra: &brahmaputra
18         stream: brahmaputra
19         branch: 'stable/{stream}'
20         gs-pathname: '{stream}'
21         docker-tag: 'brahmaputra.1.0'
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             <<: *brahmaputra
47         - virtual:
48             slave-label: fuel-virtual
49             installer: fuel
50             auto-trigger-name: 'daily-trigger-disabled'
51             <<: *brahmaputra
52 # joid CI PODs
53         - baremetal:
54             slave-label: joid-baremetal
55             installer: joid
56             auto-trigger-name: 'daily-trigger-disabled'
57             <<: *master
58         - virtual:
59             slave-label: joid-virtual
60             installer: joid
61             auto-trigger-name: 'daily-trigger-disabled'
62             <<: *master
63         - baremetal:
64             slave-label: joid-baremetal
65             installer: joid
66             auto-trigger-name: 'daily-trigger-disabled'
67             <<: *brahmaputra
68         - virtual:
69             slave-label: joid-virtual
70             installer: joid
71             auto-trigger-name: 'daily-trigger-disabled'
72             <<: *brahmaputra
73
74 # compass CI PODs
75         - baremetal:
76             slave-label: compass-baremetal
77             installer: compass
78             auto-trigger-name: 'daily-trigger-disabled'
79             <<: *master
80         - virtual:
81             slave-label: compass-virtual
82             installer: compass
83             auto-trigger-name: 'daily-trigger-disabled'
84             <<: *master
85         - baremetal:
86             slave-label: compass-baremetal
87             installer: compass
88             auto-trigger-name: 'daily-trigger-disabled'
89             <<: *brahmaputra
90         - virtual:
91             slave-label: compass-virtual
92             installer: compass
93             auto-trigger-name: 'daily-trigger-disabled'
94             <<: *brahmaputra
95 #--------------------------------
96 #    Installers not using labels
97 #            CI PODs
98 # This section should only contain the installers
99 # that have not been switched using labels for slaves
100 #--------------------------------
101         - lf-pod1:
102             slave-label: '{pod}'
103             installer: apex
104             auto-trigger-name: 'daily-trigger-disabled'
105             <<: *master
106         - lf-pod1:
107             slave-label: '{pod}'
108             installer: apex
109             auto-trigger-name: 'daily-trigger-disabled'
110             <<: *brahmaputra
111 #--------------------------------
112 #        None-CI PODs
113 #--------------------------------
114         - orange-pod2:
115             slave-label: '{pod}'
116             installer: joid
117             auto-trigger-name: 'daily-trigger-disabled'
118             <<: *brahmaputra
119         - zte-pod1:
120             slave-label: '{pod}'
121             installer: fuel
122             auto-trigger-name: 'daily-trigger-disabled'
123             <<: *master
124         - zte-pod3:
125             slave-label: '{pod}'
126             installer: fuel
127             auto-trigger-name: 'daily-trigger-disabled'
128             <<: *master
129         - orange-pod2:
130             slave-label: '{pod}'
131             installer: joid
132             auto-trigger-name: 'daily-trigger-disabled'
133             <<: *master
134         - huawei-pod2:
135             slave-label: '{pod}'
136             installer: compass
137             auto-trigger-name: 'daily-trigger-disabled'
138             <<: *master
139         - huawei-pod3:
140             slave-label: '{pod}'
141             installer: compass
142             auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
143             <<: *master
144         - huawei-pod4:
145             slave-label: '{pod}'
146             installer: compass
147             auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
148             <<: *master
149 #--------------------------------
150     testsuite:
151         - 'daily'
152
153     jobs:
154         - 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
155
156 ################################
157 # job templates
158 ################################
159 - job-template:
160     name: 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
161
162     disabled: false
163
164     concurrent: true
165
166     properties:
167         - throttle:
168             enabled: true
169             max-per-node: 1
170             option: 'project'
171
172     wrappers:
173         - build-name:
174             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
175         - timeout:
176             timeout: 180
177             abort: true
178
179     triggers:
180         - '{auto-trigger-name}'
181
182     parameters:
183         - project-parameter:
184             project: '{project}'
185         - '{slave-label}-defaults'
186         - '{installer}-defaults'
187         - 'yardstick-params-{slave-label}'
188         - string:
189             name: DEPLOY_SCENARIO
190             default: 'os-odl_l2-nofeature-ha'
191         - string:
192             name: DOCKER_TAG
193             default: '{docker-tag}'
194             description: 'Tag to pull docker image'
195         - string:
196             name: YARDSTICK_SCENARIO_SUITE_NAME
197             default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
198             description: 'Path to test scenario suite'
199         - string:
200             name: CI_DEBUG
201             default: 'false'
202             description: "Show debut output information"
203
204     scm:
205         - git-scm:
206             credentials-id: '{ssh-credentials}'
207             refspec: ''
208             branch: '{branch}'
209
210     builders:
211         - description-setter:
212             description: "POD: $NODE_NAME"
213         - 'yardstick-cleanup'
214         #- 'yardstick-fetch-os-creds'
215         - 'yardstick-{testsuite}'
216
217     publishers:
218         - email:
219             recipients: jean.gaoliang@huawei.com matthew.lijun@huawei.com
220
221 ########################
222 # builder macros
223 ########################
224 - builder:
225     name: yardstick-daily
226     builders:
227         - shell:
228             !include-raw: ./yardstick-daily.sh
229
230 - builder:
231     name: yardstick-vtcdaily
232     builders:
233         - shell:
234             !include-raw: ./yardstick-vtcdaily.sh
235
236 - builder:
237     name: yardstick-fetch-os-creds
238     builders:
239         - shell:
240             !include-raw: ../../utils/fetch_os_creds.sh
241
242 - builder:
243     name: yardstick-cleanup
244     builders:
245         - shell:
246             !include-raw: ./yardstick-cleanup.sh
247 ########################
248 # parameter macros
249 ########################
250 - parameter:
251     name: 'yardstick-params-fuel-baremetal'
252     parameters:
253         - string:
254             name: YARDSTICK_DB_BACKEND
255             default: '-i 104.197.68.199:8086'
256             description: 'Arguments to use in order to choose the backend DB'
257 - parameter:
258     name: 'yardstick-params-fuel-virtual'
259     parameters:
260         - string:
261             name: YARDSTICK_DB_BACKEND
262             default: ''
263             description: 'Arguments to use in order to choose the backend DB'
264 - parameter:
265     name: 'yardstick-params-joid-baremetal'
266     parameters:
267         - string:
268             name: YARDSTICK_DB_BACKEND
269             default: '-i 104.197.68.199:8086'
270             description: 'Arguments to use in order to choose the backend DB'
271 - parameter:
272     name: 'yardstick-params-joid-virtual'
273     parameters:
274         - string:
275             name: YARDSTICK_DB_BACKEND
276             default: ''
277             description: 'Arguments to use in order to choose the backend DB'
278 - parameter:
279     name: 'yardstick-params-intel-pod8'
280     parameters:
281         - string:
282             name: YARDSTICK_DB_BACKEND
283             default: ''
284             description: 'Arguments to use in order to choose the backend DB'
285 - parameter:
286     name: 'yardstick-params-lf-pod1'
287     parameters:
288         - string:
289             name: YARDSTICK_DB_BACKEND
290             default: '-i 104.197.68.199:8086'
291             description: 'Arguments to use in order to choose the backend DB'
292
293 - parameter:
294     name: 'yardstick-params-lf-pod2'
295     parameters:
296         - string:
297             name: YARDSTICK_DB_BACKEND
298             default: '-i 104.197.68.199:8086'
299             description: 'Arguments to use in order to choose the backend DB'
300
301 - parameter:
302     name: 'yardstick-params-compass-baremetal'
303     parameters:
304         - string:
305             name: YARDSTICK_DB_BACKEND
306             default: '-i 104.197.68.199:8086'
307             description: 'Arguments to use in order to choose the backend DB'
308
309 - parameter:
310     name: 'yardstick-params-huawei-pod2'
311     parameters:
312         - string:
313             name: YARDSTICK_DB_BACKEND
314             default: '-i 104.197.68.199:8086'
315             description: 'Arguments to use in order to choose the backend DB'
316
317 - parameter:
318     name: 'yardstick-params-zte-pod1'
319     parameters:
320         - string:
321             name: YARDSTICK_DB_BACKEND
322             default: '-i 104.197.68.199:8086'
323             description: 'Arguments to use in order to choose the backend DB'
324
325 - parameter:
326     name: 'yardstick-params-zte-pod3'
327     parameters:
328         - string:
329             name: YARDSTICK_DB_BACKEND
330             default: '-i 104.197.68.199:8086'
331             description: 'Arguments to use in order to choose the backend DB'
332
333 - parameter:
334     name: 'yardstick-params-orange-pod2'
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
341 - parameter:
342     name: 'yardstick-params-virtual'
343     parameters:
344         - string:
345             name: YARDSTICK_DB_BACKEND
346             default: ''
347             description: 'Arguments to use in order to choose the backend DB'
348
349 - parameter:
350     name: 'yardstick-params-compass-virtual'
351     parameters:
352         - string:
353             name: YARDSTICK_DB_BACKEND
354             default: ''
355             description: 'Arguments to use in order to choose the backend DB'
356
357 - parameter:
358     name: 'yardstick-params-huawei-pod3'
359     parameters:
360         - string:
361             name: YARDSTICK_DB_BACKEND
362             default: ''
363             description: 'Arguments to use in order to choose the backend DB'
364
365 - parameter:
366     name: 'yardstick-params-huawei-pod4'
367     parameters:
368         - string:
369             name: YARDSTICK_DB_BACKEND
370             default: ''
371             description: 'Arguments to use in order to choose the backend DB'
372
373 #######################
374 ## trigger macros
375 #######################
376 # trigger for PODs to only run yardstick test suites
377 - trigger:
378     name: 'yardstick-daily-huawei-pod3-trigger'
379     triggers:
380         - timed: '0 1 * * *'
381
382 - trigger:
383     name: 'yardstick-daily-huawei-pod4-trigger'
384     triggers:
385         - timed: '0 1 * * *'