abbffb2af1adde8ffde88c2fe68e8515da87c420
[releng.git] / jjb / dovetail / dovetail-ci-jobs.yaml
1 ---
2 ###################################
3 # job configuration for dovetail
4 ###################################
5 - project:
6     name: dovetail
7
8     project: '{name}'
9
10     # --------------------------------------
11     # BRANCH ANCHORS
12     # --------------------------------------
13     # 1)the stream/branch here represents the SUT(System Under Test) stream/branch
14     # 2)docker-tag is the docker tag of dovetail(only master by now, then all latest used)
15     #   the dovetail stream is one-to-one mapping with dovetail docker-tag
16     #   the dovetail is not sync with A/B/C release
17     master: &master
18       stream: master
19       branch: '{stream}'
20       dovetail-branch: '{stream}'
21       gs-pathname: ''
22       docker-tag: 'latest'
23       disabled: true
24     fraser: &fraser
25       stream: fraser
26       branch: 'stable/{stream}'
27       dovetail-branch: 'stable/{stream}'
28       gs-pathname: '/{stream}'
29       docker-tag: 'ovp-2.0.0'
30     gambia: &gambia
31       stream: gambia
32       branch: 'stable/{stream}'
33       dovetail-branch: 'master'
34       gs-pathname: '/{stream}'
35       docker-tag: 'latest'
36
37     # ----------------------------------
38     # POD, PLATFORM, AND BRANCH MAPPING
39     # ----------------------------------
40     #            CI PODs
41     # This section should only contain the SUTs
42     # that have been switched using labels for slaves
43     # -----------------------------------------------
44     # the pods, SUTs listed here are just examples to
45     # let the dovetail tool run, there can be more ways beside CI to
46     # run the dovetail tool.
47     # pods, SUTs will be added/adjusted when needed
48     pod:
49       # fuel CI PODs
50       - baremetal:
51           slave-label: fuel-baremetal
52           SUT: fuel
53           auto-trigger-name: 'daily-trigger-disabled'
54           <<: *master
55       - virtual:
56           slave-label: fuel-virtual
57           SUT: fuel
58           auto-trigger-name: 'daily-trigger-disabled'
59           <<: *master
60       - baremetal:
61           slave-label: fuel-baremetal
62           SUT: fuel
63           auto-trigger-name: 'daily-trigger-disabled'
64           <<: *fraser
65       - virtual:
66           slave-label: fuel-virtual
67           SUT: fuel
68           auto-trigger-name: 'daily-trigger-disabled'
69           <<: *fraser
70       - baremetal:
71           slave-label: fuel-baremetal
72           SUT: fuel
73           auto-trigger-name: 'daily-trigger-disabled'
74           <<: *gambia
75       - virtual:
76           slave-label: fuel-virtual
77           SUT: fuel
78           auto-trigger-name: 'daily-trigger-disabled'
79           <<: *gambia
80       # compass CI PODs
81       - baremetal:
82           slave-label: compass-baremetal
83           SUT: compass
84           auto-trigger-name: 'daily-trigger-disabled'
85           <<: *master
86       - virtual:
87           slave-label: compass-virtual
88           SUT: compass
89           auto-trigger-name: 'daily-trigger-disabled'
90           <<: *master
91       - baremetal:
92           slave-label: compass-baremetal
93           SUT: compass
94           auto-trigger-name: 'daily-trigger-disabled'
95           <<: *fraser
96       - virtual:
97           slave-label: compass-virtual
98           SUT: compass
99           auto-trigger-name: 'daily-trigger-disabled'
100           <<: *fraser
101       - baremetal:
102           slave-label: compass-baremetal
103           SUT: compass
104           auto-trigger-name: 'daily-trigger-disabled'
105           <<: *gambia
106       - virtual:
107           slave-label: compass-virtual
108           SUT: compass
109           auto-trigger-name: 'daily-trigger-disabled'
110           <<: *gambia
111       # -------------------------------
112       #    Installers not using labels
113       #            CI PODs
114       # This section should only contain the installers
115       # that have not been switched using labels for slaves
116       # -------------------------------
117       # apex PODs
118       - virtual:
119           slave-label: apex-virtual-master
120           SUT: apex
121           auto-trigger-name: 'daily-trigger-disabled'
122           <<: *master
123       - baremetal:
124           slave-label: apex-baremetal-master
125           SUT: apex
126           auto-trigger-name: 'daily-trigger-disabled'
127           <<: *master
128       - virtual:
129           slave-label: apex-virtual-master
130           SUT: apex
131           auto-trigger-name: 'daily-trigger-disabled'
132           <<: *fraser
133       - baremetal:
134           slave-label: apex-baremetal-master
135           SUT: apex
136           auto-trigger-name: 'daily-trigger-disabled'
137           <<: *fraser
138       - virtual:
139           slave-label: apex-virtual-master
140           SUT: apex
141           auto-trigger-name: 'daily-trigger-disabled'
142           <<: *gambia
143       - baremetal:
144           slave-label: apex-baremetal-master
145           SUT: apex
146           auto-trigger-name: 'daily-trigger-disabled'
147           <<: *gambia
148       # armband CI PODs
149       - armband-baremetal:
150           slave-label: armband-baremetal
151           SUT: fuel
152           auto-trigger-name: 'daily-trigger-disabled'
153           <<: *master
154       - armband-virtual:
155           slave-label: armband-virtual
156           SUT: fuel
157           auto-trigger-name: 'daily-trigger-disabled'
158           <<: *master
159       - armband-baremetal:
160           slave-label: armband-baremetal
161           SUT: fuel
162           auto-trigger-name: 'daily-trigger-disabled'
163           <<: *fraser
164       - armband-virtual:
165           slave-label: armband-virtual
166           SUT: fuel
167           auto-trigger-name: 'daily-trigger-disabled'
168           <<: *fraser
169       # -------------------------------
170       #        None-CI PODs
171       # -------------------------------
172       - baremetal-centos:
173           slave-label: 'intel-pod8'
174           SUT: compass
175           auto-trigger-name: 'daily-trigger-disabled'
176           <<: *master
177       - zte-pod1:
178           slave-label: zte-pod1
179           SUT: fuel
180           auto-trigger-name: 'daily-trigger-disabled'
181           <<: *master
182       - zte-pod2:
183           slave-label: zte-pod2
184           SUT: fuel
185           auto-trigger-name: 'daily-trigger-disabled'
186           <<: *master
187       - zte-pod3:
188           slave-label: zte-pod3
189           SUT: fuel
190           auto-trigger-name: 'daily-trigger-disabled'
191           <<: *master
192       - zte-pod1:
193           slave-label: zte-pod1
194           SUT: fuel
195           auto-trigger-name: 'daily-trigger-disabled'
196           <<: *fraser
197       - zte-pod3:
198           slave-label: zte-pod3
199           SUT: fuel
200           auto-trigger-name: 'daily-trigger-disabled'
201           <<: *fraser
202       - huawei-pod4:
203           slave-label: huawei-pod4
204           SUT: apex
205           auto-trigger-name: 'daily-trigger-disabled'
206           <<: *fraser
207       - huawei-pod7:
208           slave-label: huawei-pod7
209           SUT: compass
210           auto-trigger-name: 'daily-trigger-disabled'
211           <<: *fraser
212
213     # -------------------------------
214     testsuite:
215       - 'default'
216       - 'proposed_tests'
217
218     testarea:
219       - 'mandatory'
220       - 'optional'
221
222     jobs:
223       - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
224       - 'dovetail-{SUT}-{pod}-{testsuite}-{testarea}-{stream}'
225
226 ################################
227 # job templates
228 ################################
229 - job-template:
230     name: 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
231
232     disabled: false
233
234     concurrent: true
235
236     properties:
237       - logrotate-default
238       - throttle:
239           enabled: true
240           max-per-node: 1
241           option: 'project'
242
243     wrappers:
244       - build-name:
245           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
246       - timeout:
247           timeout: 300
248           abort: true
249       - fix-workspace-permissions
250
251     triggers:
252       - '{auto-trigger-name}'
253
254     parameters:
255       - project-parameter:
256           project: '{project}'
257           branch: '{dovetail-branch}'
258       - '{SUT}-defaults'
259       - '{slave-label}-defaults'
260       - string:
261           name: DEPLOY_SCENARIO
262           default: 'os-nosdn-nofeature-ha'
263       - string:
264           name: DOCKER_TAG
265           default: '{docker-tag}'
266           description: 'Tag to pull dovetail docker image'
267       - string:
268           name: CI_DEBUG
269           default: 'true'
270           description: "Show debug output information"
271       - string:
272           name: TESTSUITE
273           default: '{testsuite}'
274           description: "dovetail testsuite to run"
275       - string:
276           name: TESTAREA
277           default: 'all'
278           description: "dovetail testarea to run"
279       - string:
280           name: DOVETAIL_REPO_DIR
281           default: "/home/opnfv/dovetail"
282           description: "Directory where the dovetail repository is cloned"
283       - string:
284           name: SUT_BRANCH
285           default: '{branch}'
286           description: "SUT branch"
287
288     scm:
289       - git-scm
290
291     builders:
292       - description-setter:
293           description: "POD: $NODE_NAME"
294       - 'dovetail-cleanup'
295       - 'dovetail-run'
296
297     publishers:
298       - archive:
299           artifacts: 'results/**/*'
300           allow-empty: true
301           fingerprint: true
302       - email-jenkins-admins-on-failure
303
304 - job-template:
305     name: 'dovetail-{SUT}-{pod}-{testsuite}-{testarea}-{stream}'
306
307     disabled: false
308
309     concurrent: true
310
311     properties:
312       - logrotate-default
313       - throttle:
314           enabled: true
315           max-per-node: 1
316           option: 'project'
317
318     wrappers:
319       - build-name:
320           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
321       - timeout:
322           timeout: 300
323           abort: true
324       - fix-workspace-permissions
325
326     triggers:
327       - '{auto-trigger-name}'
328
329     parameters:
330       - project-parameter:
331           project: '{project}'
332           branch: '{dovetail-branch}'
333       - '{SUT}-defaults'
334       - '{slave-label}-defaults'
335       - string:
336           name: DEPLOY_SCENARIO
337           default: 'os-nosdn-nofeature-ha'
338       - string:
339           name: DOCKER_TAG
340           default: '{docker-tag}'
341           description: 'Tag to pull dovetail docker image'
342       - string:
343           name: CI_DEBUG
344           default: 'true'
345           description: "Show debug output information"
346       - string:
347           name: TESTSUITE
348           default: '{testsuite}'
349           description: "dovetail testsuite to run"
350       - string:
351           name: TESTAREA
352           default: '{testarea}'
353           description: "dovetail testarea to run"
354       - string:
355           name: DOVETAIL_REPO_DIR
356           default: "/home/opnfv/dovetail"
357           description: "Directory where the dovetail repository is cloned"
358       - string:
359           name: SUT_BRANCH
360           default: '{branch}'
361           description: "SUT branch"
362
363     scm:
364       - git-scm
365
366     builders:
367       - description-setter:
368           description: "POD: $NODE_NAME"
369       - 'dovetail-cleanup'
370       - 'dovetail-run'
371
372     publishers:
373       - archive:
374           artifacts: 'results/**/*'
375           allow-empty: true
376           fingerprint: true
377       - email-jenkins-admins-on-failure
378
379 # -------------------------
380 # builder macros
381 # -------------------------
382 - builder:
383     name: dovetail-run
384     builders:
385       - shell:
386           !include-raw: ./dovetail-run.sh
387
388 - builder:
389     name: dovetail-cleanup
390     builders:
391       - shell:
392           !include-raw: ./dovetail-cleanup.sh