functest: Set build description to node name for easy identification
[releng.git] / jjb / functest / functest-ci-jobs.yml
1 ###################################
2 # job configuration for functest
3 ###################################
4 - project:
5     name: functest
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: 'stable'
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             <<: *master
36         - virtual:
37             slave-label: fuel-virtual
38             installer: fuel
39             <<: *master
40         - baremetal:
41             slave-label: fuel-baremetal
42             installer: fuel
43             <<: *brahmaputra
44         - virtual:
45             slave-label: fuel-virtual
46             installer: fuel
47             <<: *brahmaputra
48
49 # just in case if things go wrong
50         - lf-pod2:
51             slave-label: fuel-baremetal
52             installer: fuel
53             <<: *master
54
55 # joid CI PODs
56         - baremetal:
57             slave-label: joid-baremetal
58             installer: joid
59             <<: *master
60         - virtual:
61             slave-label: joid-virtual
62             installer: joid
63             <<: *master
64         - baremetal:
65             slave-label: joid-baremetal
66             installer: joid
67             <<: *brahmaputra
68         - virtual:
69             slave-label: joid-virtual
70             installer: joid
71             <<: *brahmaputra
72 # compass CI PODs
73         - baremetal:
74             slave-label: compass-baremetal
75             installer: compass
76             <<: *master
77         - virtual:
78             slave-label: compass-virtual
79             installer: compass
80             <<: *master
81         - baremetal:
82             slave-label: compass-baremetal
83             installer: compass
84             <<: *brahmaputra
85         - virtual:
86             slave-label: compass-virtual
87             installer: compass
88             <<: *brahmaputra
89 # apex CI PODs
90         - apex-verify-master:
91             slave-label: '{pod}'
92             installer: apex
93             <<: *master
94         - apex-daily-master:
95             slave-label: '{pod}'
96             installer: apex
97             <<: *master
98 #--------------------------------
99 #        None-CI PODs
100 #--------------------------------
101         - orange-pod2:
102             slave-label: '{pod}'
103             installer: joid
104             <<: *brahmaputra
105         - orange-pod5:
106             slave-label: '{pod}'
107             installer: fuel
108             <<: *master
109         - orange-pod2:
110             slave-label: '{pod}'
111             installer: joid
112             <<: *master
113         - huawei-pod2:
114             slave-label: '{pod}'
115             installer: compass
116             <<: *master
117         - nokia-pod1:
118             slave-label: '{pod}'
119             installer: apex
120             <<: *master
121         - arm-pod1:
122             slave-label: '{pod}'
123             installer: fuel
124             <<: *master
125         - zte-pod1:
126             slave-label: '{pod}'
127             installer: fuel
128             <<: *master
129         - arm-pod1:
130             slave-label: '{pod}'
131             installer: fuel
132             <<: *brahmaputra
133 #--------------------------------
134
135     testsuite:
136         - 'daily'
137         - 'suite'
138
139     jobs:
140         - 'functest-{installer}-{pod}-{testsuite}-{stream}'
141
142 ################################
143 # job template
144 ################################
145 - job-template:
146     name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
147
148     concurrent: true
149
150     properties:
151         - throttle:
152             enabled: true
153             max-per-node: 1
154             option: 'project'
155
156     wrappers:
157         - build-name:
158             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
159         - timeout:
160             timeout: 400
161             abort: true
162
163     parameters:
164         - project-parameter:
165             project: '{project}'
166         - '{slave-label}-defaults'
167         - '{installer}-defaults'
168         - 'functest-{testsuite}-parameter'
169         - string:
170             name: DEPLOY_SCENARIO
171             default: 'os-odl_l2-nofeature-ha'
172         - string:
173             name: DOCKER_TAG
174             default: '{docker-tag}'
175             description: 'Tag to pull docker image'
176         - functest-parameter:
177             gs-pathname: '{gs-pathname}'
178
179     scm:
180         - git-scm:
181             credentials-id: '{ssh-credentials}'
182             refspec: ''
183             branch: '{branch}'
184
185     builders:
186         - description-setter:
187             description: "POD: $NODE_NAME"
188         - 'functest-{testsuite}-builder'
189
190 ########################
191 # parameter macros
192 ########################
193 - parameter:
194     name: functest-daily-parameter
195     parameters:
196         - string:
197             name: FUNCTEST_SUITE_NAME
198             default: 'daily'
199             description: "Suite name to run"
200 - parameter:
201     name: functest-suite-parameter
202     parameters:
203         - choice:
204             name: FUNCTEST_SUITE_NAME
205             choices:
206                 - 'healthcheck'
207                 - 'tempest'
208                 - 'rally'
209                 - 'odl'
210                 - 'onos'
211                 - 'ovno'
212                 - 'promise'
213                 - 'doctor'
214                 - 'vims'
215                 - 'vping_userdata'
216                 - 'vping_ssh'
217 - parameter:
218     name: functest-parameter
219     parameters:
220         - string:
221             name: GS_PATHNAME
222             default: '{gs-pathname}'
223             description: "Version directory where the opnfv documents will be stored in gs repository"
224         - string:
225             name: FUNCTEST_REPO_DIR
226             default: "/home/opnfv/repos/functest"
227             description: "Directory where the Functest repository is cloned"
228         - string:
229             name: PUSH_RESULTS_TO_DB
230             default: "true"
231             description: "Push the results of all the tests to the resultDB"
232         - string:
233             name: CI_DEBUG
234             default: 'false'
235             description: "Show debug output information"
236 ########################
237 # trigger macros
238 ########################
239 - trigger:
240     name: 'functest-master'
241     triggers:
242         - pollscm:
243             cron: "H 9 * * *"
244 ########################
245 # builder macros
246 ########################
247 - builder:
248     name: functest-daily-builder
249     builders:
250         - 'functest-cleanup'
251         - 'set-functest-env'
252         - 'functest-daily'
253         - 'functest-store-results'
254
255 - builder:
256     name: functest-suite-builder
257     builders:
258         - 'functest-cleanup'
259         - 'set-functest-env'
260         - 'functest-suite'
261
262 - builder:
263     name: functest-suite
264     builders:
265         - shell:
266             !include-raw: ./functest-suite.sh
267
268 - builder:
269     name: functest-daily
270     builders:
271         - shell:
272             !include-raw: ./functest-daily.sh
273
274 - builder:
275     name: set-functest-env
276     builders:
277         - shell:
278             !include-raw: ./set-functest-env.sh
279
280 - builder:
281     name: functest-store-results
282     builders:
283         - shell:
284             !include-raw: ../../utils/push-test-logs.sh
285
286 - builder:
287     name: functest-cleanup
288     builders:
289         - shell:
290             !include-raw: ./functest-cleanup.sh