Add Project Option to Throttle Property
[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             option: 'project'
174
175     wrappers:
176         - build-name:
177             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
178         - timeout:
179             timeout: 180
180             abort: true
181
182     triggers:
183         - '{auto-trigger-name}'
184
185     parameters:
186         - project-parameter:
187             project: '{project}'
188         - '{slave-label}-defaults'
189         - '{installer}-defaults'
190         - 'yardstick-params-{slave-label}'
191         - string:
192             name: DEPLOY_SCENARIO
193             default: 'os-odl_l2-nofeature-ha'
194         - string:
195             name: DOCKER_TAG
196             default: '{docker-tag}'
197             description: 'Tag to pull docker image'
198         - string:
199             name: YARDSTICK_SUITE_NAME
200             default: opnfv_${{NODE_NAME}}_{testsuite}.yaml
201             description: 'Path to test suite'
202         - string:
203             name: CI_DEBUG
204             default: 'false'
205             description: "Show debut output information"
206
207     scm:
208         - git-scm:
209             credentials-id: '{ssh-credentials}'
210             refspec: ''
211             branch: '{branch}'
212
213     builders:
214         - 'yardstick-cleanup'
215         #- 'yardstick-fetch-os-creds'
216         - 'yardstick-{testsuite}'
217
218     publishers:
219         - email:
220             recipients: jean.gaoliang@huawei.com matthew.lijun@huawei.com
221
222 ########################
223 # builder macros
224 ########################
225 - builder:
226     name: yardstick-daily
227     builders:
228         - shell:
229             !include-raw: ./yardstick-daily.sh
230
231 - builder:
232     name: yardstick-vtcdaily
233     builders:
234         - shell:
235             !include-raw: ./yardstick-vtcdaily.sh
236
237 - builder:
238     name: yardstick-fetch-os-creds
239     builders:
240         - shell:
241             !include-raw: ../../utils/fetch_os_creds.sh
242
243 - builder:
244     name: yardstick-cleanup
245     builders:
246         - shell:
247             !include-raw: ./yardstick-cleanup.sh
248 ########################
249 # parameter macros
250 ########################
251 - parameter:
252     name: 'yardstick-params-fuel-baremetal'
253     parameters:
254         - string:
255             name: YARDSTICK_DB_BACKEND
256             default: '-i 104.197.68.199:8086'
257             description: 'Arguments to use in order to choose the backend DB'
258 - parameter:
259     name: 'yardstick-params-fuel-virtual'
260     parameters:
261         - string:
262             name: YARDSTICK_DB_BACKEND
263             default: ''
264             description: 'Arguments to use in order to choose the backend DB'
265 - parameter:
266     name: 'yardstick-params-joid-baremetal'
267     parameters:
268         - string:
269             name: YARDSTICK_DB_BACKEND
270             default: '-i 104.197.68.199:8086'
271             description: 'Arguments to use in order to choose the backend DB'
272 - parameter:
273     name: 'yardstick-params-joid-virtual'
274     parameters:
275         - string:
276             name: YARDSTICK_DB_BACKEND
277             default: ''
278             description: 'Arguments to use in order to choose the backend DB'
279 - parameter:
280     name: 'yardstick-params-intel-pod8'
281     parameters:
282         - string:
283             name: YARDSTICK_DB_BACKEND
284             default: ''
285             description: 'Arguments to use in order to choose the backend DB'
286 - parameter:
287     name: 'yardstick-params-lf-pod1'
288     parameters:
289         - string:
290             name: YARDSTICK_DB_BACKEND
291             default: '-i 104.197.68.199:8086'
292             description: 'Arguments to use in order to choose the backend DB'
293
294 - parameter:
295     name: 'yardstick-params-lf-pod2'
296     parameters:
297         - string:
298             name: YARDSTICK_DB_BACKEND
299             default: '-i 104.197.68.199:8086'
300             description: 'Arguments to use in order to choose the backend DB'
301
302 - parameter:
303     name: 'yardstick-params-compass-baremetal'
304     parameters:
305         - string:
306             name: YARDSTICK_DB_BACKEND
307             default: '-i 104.197.68.199:8086'
308             description: 'Arguments to use in order to choose the backend DB'
309
310 - parameter:
311     name: 'yardstick-params-huawei-pod2'
312     parameters:
313         - string:
314             name: YARDSTICK_DB_BACKEND
315             default: '-i 104.197.68.199:8086'
316             description: 'Arguments to use in order to choose the backend DB'
317
318 - parameter:
319     name: 'yardstick-params-zte-pod1'
320     parameters:
321         - string:
322             name: YARDSTICK_DB_BACKEND
323             default: '-i 104.197.68.199:8086'
324             description: 'Arguments to use in order to choose the backend DB'
325
326 - parameter:
327     name: 'yardstick-params-orange-pod2'
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
334 - parameter:
335     name: 'yardstick-params-virtual'
336     parameters:
337         - string:
338             name: YARDSTICK_DB_BACKEND
339             default: ''
340             description: 'Arguments to use in order to choose the backend DB'
341
342 - parameter:
343     name: 'yardstick-params-compass-virtual'
344     parameters:
345         - string:
346             name: YARDSTICK_DB_BACKEND
347             default: ''
348             description: 'Arguments to use in order to choose the backend DB'
349
350 - parameter:
351     name: 'yardstick-params-huawei-pod3'
352     parameters:
353         - string:
354             name: YARDSTICK_DB_BACKEND
355             default: ''
356             description: 'Arguments to use in order to choose the backend DB'
357
358 - parameter:
359     name: 'yardstick-params-huawei-pod4'
360     parameters:
361         - string:
362             name: YARDSTICK_DB_BACKEND
363             default: ''
364             description: 'Arguments to use in order to choose the backend DB'
365
366 #######################
367 ## trigger macros
368 #######################
369 # trigger for PODs to only run yardstick test suites
370 - trigger:
371     name: 'yardstick-daily-huawei-pod3-trigger'
372     triggers:
373         - timed: '0 1 * * *'
374
375 - trigger:
376     name: 'yardstick-daily-huawei-pod4-trigger'
377     triggers:
378         - timed: '0 1 * * *'