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