48c335a03fa49357f7516d8243ab2b920f965d73
[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
53 # just in case if things go wrong
54         - lf-pod2:
55             slave-label: '{pod}'
56             installer: fuel
57             auto-trigger-name: 'daily-trigger-disabled'
58             <<: *master
59
60 # joid CI PODs
61         - baremetal:
62             slave-label: joid-baremetal
63             installer: joid
64             auto-trigger-name: 'daily-trigger-disabled'
65             <<: *master
66         - virtual:
67             slave-label: joid-virtual
68             installer: joid
69             auto-trigger-name: 'daily-trigger-disabled'
70             <<: *master
71         - baremetal:
72             slave-label: joid-baremetal
73             installer: joid
74             auto-trigger-name: 'daily-trigger-disabled'
75             <<: *brahmaputra
76         - virtual:
77             slave-label: joid-virtual
78             installer: joid
79             auto-trigger-name: 'daily-trigger-disabled'
80             <<: *brahmaputra
81
82 # compass CI PODs
83         - baremetal:
84             slave-label: compass-baremetal
85             installer: compass
86             auto-trigger-name: 'daily-trigger-disabled'
87             <<: *master
88         - virtual:
89             slave-label: compass-virtual
90             installer: compass
91             auto-trigger-name: 'daily-trigger-disabled'
92             <<: *master
93         - baremetal:
94             slave-label: compass-baremetal
95             installer: compass
96             auto-trigger-name: 'daily-trigger-disabled'
97             <<: *brahmaputra
98         - virtual:
99             slave-label: compass-virtual
100             installer: compass
101             auto-trigger-name: 'daily-trigger-disabled'
102             <<: *brahmaputra
103 #--------------------------------
104 #    Installers not using labels
105 #            CI PODs
106 # This section should only contain the installers
107 # that have not been switched using labels for slaves
108 #--------------------------------
109         - lf-pod1:
110             slave-label: '{pod}'
111             installer: apex
112             auto-trigger-name: 'daily-trigger-disabled'
113             <<: *master
114         - lf-pod1:
115             slave-label: '{pod}'
116             installer: apex
117             auto-trigger-name: 'daily-trigger-disabled'
118             <<: *brahmaputra
119 #--------------------------------
120 #        None-CI PODs
121 #--------------------------------
122         - orange-pod2:
123             slave-label: '{pod}'
124             installer: joid
125             auto-trigger-name: 'daily-trigger-disabled'
126             <<: *brahmaputra
127         - zte-pod1:
128             slave-label: '{pod}'
129             installer: fuel
130             auto-trigger-name: 'daily-trigger-disabled'
131             <<: *master
132         - orange-pod2:
133             slave-label: '{pod}'
134             installer: joid
135             auto-trigger-name: 'daily-trigger-disabled'
136             <<: *master
137         - huawei-pod2:
138             slave-label: '{pod}'
139             installer: compass
140             auto-trigger-name: 'daily-trigger-disabled'
141             <<: *master
142         - huawei-pod3:
143             slave-label: '{pod}'
144             installer: compass
145             auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
146             <<: *master
147         - huawei-pod4:
148             slave-label: '{pod}'
149             installer: compass
150             auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
151             <<: *master
152 #--------------------------------
153     testsuite:
154         - 'daily'
155
156     jobs:
157         - 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
158
159 ################################
160 # job templates
161 ################################
162 - job-template:
163     name: 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
164
165     disabled: false
166
167     concurrent: true
168
169     properties:
170         - throttle:
171             enabled: true
172             max-per-node: 1
173
174     wrappers:
175         - build-name:
176             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
177         - timeout:
178             timeout: 180
179             abort: true
180
181     triggers:
182         - '{auto-trigger-name}'
183
184     parameters:
185         - project-parameter:
186             project: '{project}'
187         - '{slave-label}-defaults'
188         - '{installer}-defaults'
189         - 'yardstick-params-{slave-label}'
190         - string:
191             name: DEPLOY_SCENARIO
192             default: 'os-odl_l2-nofeature-ha'
193         - string:
194             name: DOCKER_TAG
195             default: '{docker-tag}'
196             description: 'Tag to pull docker image'
197         - string:
198             name: YARDSTICK_SUITE_NAME
199             default: opnfv_${{NODE_NAME}}_{testsuite}.yaml
200             description: 'Path to test suite'
201         - string:
202             name: CI_DEBUG
203             default: 'false'
204             description: "Show debut output information"
205
206     scm:
207         - git-scm:
208             credentials-id: '{ssh-credentials}'
209             refspec: ''
210             branch: '{branch}'
211
212     builders:
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-orange-pod2'
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-virtual'
335     parameters:
336         - string:
337             name: YARDSTICK_DB_BACKEND
338             default: ''
339             description: 'Arguments to use in order to choose the backend DB'
340
341 - parameter:
342     name: 'yardstick-params-compass-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-huawei-pod3'
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-pod4'
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 #######################
366 ## trigger macros
367 #######################
368 # trigger for PODs to only run yardstick test suites
369 - trigger:
370     name: 'yardstick-daily-huawei-pod3-trigger'
371     triggers:
372         - timed: '0 1 * * *'
373
374 - trigger:
375     name: 'yardstick-daily-huawei-pod4-trigger'
376     triggers:
377         - timed: '0 1 * * *'