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