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