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