Apex,Functest: Add healthcheck for Apex verify jobs
[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
155     wrappers:
156         - build-name:
157             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
158         - timeout:
159             timeout: 400
160             abort: true
161
162     parameters:
163         - project-parameter:
164             project: '{project}'
165         - '{slave-label}-defaults'
166         - '{installer}-defaults'
167         - 'functest-{testsuite}-parameter'
168         - string:
169             name: DEPLOY_SCENARIO
170             default: 'os-odl_l2-nofeature-ha'
171         - string:
172             name: DOCKER_TAG
173             default: '{docker-tag}'
174             description: 'Tag to pull docker image'
175         - functest-parameter:
176             gs-pathname: '{gs-pathname}'
177
178     scm:
179         - git-scm:
180             credentials-id: '{ssh-credentials}'
181             refspec: ''
182             branch: '{branch}'
183
184     builders:
185         - 'functest-{testsuite}-builder'
186
187 ########################
188 # parameter macros
189 ########################
190 - parameter:
191     name: functest-daily-parameter
192     parameters:
193         - string:
194             name: FUNCTEST_SUITE_NAME
195             default: 'daily'
196             description: "Suite name to run"
197 - parameter:
198     name: functest-suite-parameter
199     parameters:
200         - choice:
201             name: FUNCTEST_SUITE_NAME
202             choices:
203                 - 'healthcheck'
204                 - 'tempest'
205                 - 'rally'
206                 - 'odl'
207                 - 'onos'
208                 - 'ovno'
209                 - 'promise'
210                 - 'doctor'
211                 - 'vims'
212                 - 'vping_userdata'
213                 - 'vping_ssh'
214 - parameter:
215     name: functest-parameter
216     parameters:
217         - string:
218             name: GS_PATHNAME
219             default: '{gs-pathname}'
220             description: "Version directory where the opnfv documents will be stored in gs repository"
221         - string:
222             name: FUNCTEST_REPO_DIR
223             default: "/home/opnfv/repos/functest"
224             description: "Directory where the Functest repository is cloned"
225         - string:
226             name: PUSH_RESULTS_TO_DB
227             default: "true"
228             description: "Push the results of all the tests to the resultDB"
229         - string:
230             name: CI_DEBUG
231             default: 'false'
232             description: "Show debug output information"
233 ########################
234 # trigger macros
235 ########################
236 - trigger:
237     name: 'functest-master'
238     triggers:
239         - pollscm:
240             cron: "H 9 * * *"
241 ########################
242 # builder macros
243 ########################
244 - builder:
245     name: functest-daily-builder
246     builders:
247         - 'functest-cleanup'
248         - 'set-functest-env'
249         - 'functest-daily'
250         - 'functest-store-results'
251
252 - builder:
253     name: functest-suite-builder
254     builders:
255         - 'functest-cleanup'
256         - 'set-functest-env'
257         - 'functest-suite'
258
259 - builder:
260     name: functest-suite
261     builders:
262         - shell:
263             !include-raw: ./functest-suite.sh
264
265 - builder:
266     name: functest-daily
267     builders:
268         - shell:
269             !include-raw: ./functest-daily.sh
270
271 - builder:
272     name: set-functest-env
273     builders:
274         - shell:
275             !include-raw: ./set-functest-env.sh
276
277 - builder:
278     name: functest-store-results
279     builders:
280         - shell:
281             !include-raw: ../../utils/push-test-logs.sh
282
283 - builder:
284     name: functest-cleanup
285     builders:
286         - shell:
287             !include-raw: ./functest-cleanup.sh