Publish Airship tests in DB
[releng.git] / jjb / airship / airship.yaml
1 ---
2 - airship-jobs: &airship-jobs
3     name: 'airship-jobs'
4     current-parameters: true
5
6 - airship-params: &airship-params
7     name: 'airship-params'
8     repo: 'opnfv'
9     port:
10     tag:
11       - hunter:
12           branch: stable/hunter
13           slave: intel-pod17
14
15 - parameter:
16     name: airship-slave
17     parameters:
18       - label:
19           name: slave
20           default: '{slave}'
21
22 - parameter:
23     name: airship-branch
24     parameters:
25       - string:
26           name: branch
27           default: '{branch}'
28
29 - airship-containers: &airship-containers
30     name: 'airship-containers'
31     repo: '{repo}'
32     port: '{port}'
33     container: '{container}'
34     tag: '{tag}'
35
36 - airship-run-containers: &airship-run-containers
37     name: 'airship-run-containers'
38     <<: *airship-containers
39     test: '{test}'
40
41 - builder:
42     name: airship-pull-containers
43     builders:
44       - shell: |
45           set +x
46           if [ "{repo}" = "_" ]; then
47             image={container}:{tag}
48           elif [ "{port}" = "None" ]; then
49             image={repo}/{container}:{tag}
50           else
51             image={repo}:{port}/{container}:{tag}
52           fi
53           docker pull $image
54
55 - builder:
56     name: airship-run-containers
57     builders:
58       - shell: |
59           set +ex
60           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
61           if [ "{repo}" = "_" ]; then
62             image={container}:{tag}
63           elif [ "{port}" = "None" ]; then
64             image={repo}/{container}:{tag}
65           else
66             image={repo}:{port}/{container}:{tag}
67           fi
68           docker run --rm \
69             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
70             -e NODE_NAME=airship \
71             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
72             -e DEBUG=True \
73             -e EXTERNAL_NETWORK=public \
74             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
75             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
76             -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
77           site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
78             $image run_tests -t {test} -r
79           res=$?
80           gsutil -m cp -r $WORKSPACE/ \
81             gs://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
82           find $WORKSPACE -type f \
83             -printf \
84             "http://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID/%P\n"
85           exit $res
86
87 - builder:
88     name: airship-remove-images
89     builders:
90       - shell: |
91           set +x
92           if [ "{repo}" = "_" ]; then
93             image={container}:{tag}
94           elif [ "{port}" = "None" ]; then
95             image={repo}/{container}:{tag}
96           else
97             image={repo}:{port}/{container}:{tag}
98           fi
99           docker rmi $image || true
100
101
102 - job-template:
103     name: 'airship-{repo}-{container}-{tag}-pull'
104     parameters:
105       - airship-slave:
106           slave: '{slave}'
107     builders:
108       - airship-pull-containers:
109           <<: *airship-containers
110
111 - project:
112     name: 'airship-opnfv-functest-healthcheck-pull'
113     <<: *airship-params
114     container: 'functest-healthcheck'
115     jobs:
116       - 'airship-{repo}-{container}-{tag}-pull'
117
118 - project:
119     name: 'airship-opnfv-functest-smoke-pull'
120     <<: *airship-params
121     container: 'functest-smoke'
122     jobs:
123       - 'airship-{repo}-{container}-{tag}-pull'
124
125 - project:
126     name: 'airship-opnfv-functest-benchmarking-pull'
127     <<: *airship-params
128     container: 'functest-benchmarking'
129     jobs:
130       - 'airship-{repo}-{container}-{tag}-pull'
131
132 - project:
133     name: 'airship-opnfv-functest-vnf-pull'
134     <<: *airship-params
135     container: 'functest-vnf'
136     jobs:
137       - 'airship-{repo}-{container}-{tag}-pull'
138
139 - project:
140     name: 'airship-opnfv-functest-features-pull'
141     <<: *airship-params
142     container: 'functest-features'
143     jobs:
144       - 'airship-{repo}-{container}-{tag}-pull'
145
146 - job-template:
147     name: 'airship-{repo}-{container}-{tag}-rmi'
148     parameters:
149       - airship-slave:
150           slave: '{slave}'
151     builders:
152       - airship-remove-images:
153           <<: *airship-containers
154
155 - project:
156     name: 'airship-opnfv-functest-healthcheck-rmi'
157     <<: *airship-params
158     container: 'functest-healthcheck'
159     jobs:
160       - 'airship-{repo}-{container}-{tag}-rmi'
161
162 - project:
163     name: 'airship-opnfv-functest-smoke-rmi'
164     <<: *airship-params
165     container: 'functest-smoke'
166     jobs:
167       - 'airship-{repo}-{container}-{tag}-rmi'
168
169 - project:
170     name: 'airship-opnfv-functest-benchmarking-rmi'
171     <<: *airship-params
172     container: 'functest-benchmarking'
173     jobs:
174       - 'airship-{repo}-{container}-{tag}-rmi'
175
176 - project:
177     name: 'airship-opnfv-functest-vnf-rmi'
178     <<: *airship-params
179     container: 'functest-vnf'
180     jobs:
181       - 'airship-{repo}-{container}-{tag}-rmi'
182
183 - project:
184     name: 'airship-opnfv-functest-features-rmi'
185     <<: *airship-params
186     container: 'functest-features'
187     jobs:
188       - 'airship-{repo}-{container}-{tag}-rmi'
189
190 - job-template:
191     name: 'airship-{repo}-{container}-{tag}-{test}-run'
192     parameters:
193       - airship-slave:
194           slave: '{slave}'
195     builders:
196       - airship-run-containers:
197           <<: *airship-run-containers
198
199 - project:
200     name: 'airship-opnfv-functest-healthcheck'
201     <<: *airship-params
202     container: 'functest-healthcheck'
203     test:
204       - connection_check
205       - tenantnetwork1
206       - tenantnetwork2
207       - vmready1
208       - vmready2
209       - singlevm1
210       - singlevm2
211       - vping_ssh
212       - vping_userdata
213       - cinder_test
214       - odl
215       - tempest_smoke
216     jobs:
217       - 'airship-{repo}-{container}-{tag}-{test}-run'
218
219 - project:
220     name: 'airship-opnfv-functest-smoke'
221     <<: *airship-params
222     container: 'functest-smoke'
223     test:
224       - neutron-tempest-plugin-api
225       - rally_sanity
226       - refstack_defcore
227       - tempest_full
228       - tempest_scenario
229       - patrole
230       - neutron_trunk
231       - networking-bgpvpn
232       - networking-sfc
233       - barbican
234     jobs:
235       - 'airship-{repo}-{container}-{tag}-{test}-run'
236
237 - project:
238     name: 'airship-opnfv-functest-benchmarking'
239     <<: *airship-params
240     container: 'functest-benchmarking'
241     test:
242       - rally_full
243       - rally_jobs
244       - vmtp
245       - shaker
246     jobs:
247       - 'airship-{repo}-{container}-{tag}-{test}-run'
248
249 - project:
250     name: 'airship-opnfv-functest-vnf'
251     <<: *airship-params
252     container: 'functest-vnf'
253     test:
254       - cloudify
255       - cloudify_ims
256       - heat_ims
257       - vyos_vrouter
258       - juju_epc
259     jobs:
260       - 'airship-{repo}-{container}-{tag}-{test}-run'
261
262 - project:
263     name: 'airship-opnfv-functest-features'
264     <<: *airship-params
265     container: 'functest-features'
266     test:
267       - doctor-notification
268       - functest-odl-sfc
269       - barometercollectd
270       - vgpu
271       - stor4nfv_os
272     jobs:
273       - 'airship-{repo}-{container}-{tag}-{test}-run'
274
275 - job-template:
276     name: 'airship-{tag}-daily'
277     project-type: multijob
278     triggers:
279       - timed: '@daily'
280     parameters:
281       - airship-slave:
282           slave: '{slave}'
283     properties:
284       - build-blocker:
285           use-build-blocker: true
286           blocking-level: 'NODE'
287           blocking-jobs:
288             - '^airship-{tag}-(daily|check|gate)$'
289     builders:
290       - multijob:
291           name: remove former images
292           projects:
293             - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
294               <<: *airship-jobs
295             - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
296               <<: *airship-jobs
297             - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
298               <<: *airship-jobs
299             - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
300               <<: *airship-jobs
301             - name: 'airship-opnfv-functest-features-{tag}-rmi'
302               <<: *airship-jobs
303       - multijob:
304           name: pull containers
305           projects:
306             - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
307               <<: *airship-jobs
308             - name: 'airship-opnfv-functest-smoke-{tag}-pull'
309               <<: *airship-jobs
310             - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
311               <<: *airship-jobs
312             - name: 'airship-opnfv-functest-vnf-{tag}-pull'
313               <<: *airship-jobs
314             - name: 'airship-opnfv-functest-features-{tag}-pull'
315               <<: *airship-jobs
316       - multijob:
317           name: opnfv/functest-healthcheck:{tag}
318           projects:
319             - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
320               <<: *airship-jobs
321             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
322               <<: *airship-jobs
323             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
324               <<: *airship-jobs
325             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
326               <<: *airship-jobs
327             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
328               <<: *airship-jobs
329             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
330               <<: *airship-jobs
331             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
332               <<: *airship-jobs
333             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
334               <<: *airship-jobs
335             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
336               <<: *airship-jobs
337             - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
338               <<: *airship-jobs
339             - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
340               <<: *airship-jobs
341             - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
342               <<: *airship-jobs
343       - multijob:
344           name: opnfv/functest-smoke:{tag}
345           projects:
346             - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
347               <<: *airship-jobs
348             - name: 'airship-opnfv-functest-smoke-{tag}-rally_sanity-run'
349               <<: *airship-jobs
350             - name: 'airship-opnfv-functest-smoke-{tag}-refstack_defcore-run'
351               <<: *airship-jobs
352             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_full-run'
353               <<: *airship-jobs
354             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
355               <<: *airship-jobs
356             - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
357               <<: *airship-jobs
358             - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
359               <<: *airship-jobs
360             - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
361               <<: *airship-jobs
362             - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
363               <<: *airship-jobs
364             - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
365               <<: *airship-jobs
366       - multijob:
367           name: opnfv/functest-benchmarking:{tag}
368           projects:
369             - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_full-run'
370               <<: *airship-jobs
371             - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
372               <<: *airship-jobs
373             - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
374               <<: *airship-jobs
375             - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
376               <<: *airship-jobs
377       - multijob:
378           name: opnfv/functest-vnf:{tag}
379           execution-type: SEQUENTIALLY
380           projects:
381             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
382               <<: *airship-jobs
383             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
384               <<: *airship-jobs
385             - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
386               <<: *airship-jobs
387             - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
388               <<: *airship-jobs
389             - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
390               <<: *airship-jobs
391       - multijob:
392           name: opnfv/functest-features:{tag}
393           projects:
394             - name: 'airship-opnfv-functest-features-{tag}-doctor-notification-run'
395               <<: *airship-jobs
396             - name: 'airship-opnfv-functest-features-{tag}-functest-odl-sfc-run'
397               <<: *airship-jobs
398             - name: 'airship-opnfv-functest-features-{tag}-barometercollectd-run'
399               <<: *airship-jobs
400             - name: 'airship-opnfv-functest-features-{tag}-vgpu-run'
401               <<: *airship-jobs
402             - name: 'airship-opnfv-functest-features-{tag}-stor4nfv_os-run'
403               <<: *airship-jobs
404
405
406 - project:
407     name: 'airship'
408     <<: *airship-params
409     jobs:
410       - 'airship-{tag}-daily'
411
412 - view:
413     name: airship
414     view-type: list
415     columns:
416       - status
417       - weather
418       - job
419       - last-success
420       - last-failure
421       - last-duration
422     regex: ^airship-[a-z]+-(daily|check|gate)$