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