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