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