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