Merge "Use python3 as base"
[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 - parameter:
24     name: airship-build_tag
25     parameters:
26       - random-string:
27           name: build_tag
28
29 - parameter:
30     name: airship-DEBUG
31     parameters:
32       - string:
33           name: DEBUG
34           default: 'true'
35
36 - parameter:
37     name: airship-EXTERNAL_NETWORK
38     parameters:
39       - string:
40           name: EXTERNAL_NETWORK
41           default: public
42
43 - airship-containers: &airship-containers
44     name: 'airship-containers'
45     repo: '{repo}'
46     port: '{port}'
47     container: '{container}'
48     functest_tag: '{functest_tag}'
49
50 - airship-run-containers: &airship-run-containers
51     name: 'airship-run-containers'
52     <<: *airship-containers
53     test: '{test}'
54
55 - builder:
56     name: airship-pull-containers
57     builders:
58       - shell: |
59           set +x
60           if [ "{repo}" = "_" ]; then
61             image={container}:{functest_tag}
62           elif [ "{port}" = "None" ]; then
63             image={repo}/{container}:{functest_tag}
64           else
65             image={repo}:{port}/{container}:{functest_tag}
66           fi
67           sudo docker pull $image
68
69 - builder:
70     name: airship-run-containers
71     builders:
72       - shell: |
73           set +x
74           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
75           if [ "{repo}" = "_" ]; then
76             image={container}:{functest_tag}
77           elif [ "{port}" = "None" ]; then
78             image={repo}/{container}:{functest_tag}
79           else
80             image={repo}:{port}/{container}:{functest_tag}
81           fi
82           sudo docker run --rm \
83             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
84             -e S3_DST_URL=s3://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID \
85             -e HTTP_DST_URL=http://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID \
86             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
87             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
88             -e NODE_NAME=$slave \
89             -e INSTALLER_TYPE=airship \
90             -e BUILD_TAG=$BUILD_TAG \
91             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
92             -v /home/opnfv/functest/.boto:/root/.boto \
93             -e DEBUG=$DEBUG \
94             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
95             -e DEPLOY_SCENARIO=os-nosdn-nofeature-ha \
96             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
97             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
98             -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
99           site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
100             $image run_tests -t {test} -r -p
101
102 - builder:
103     name: airship-remove-images
104     builders:
105       - shell: |
106           set +x
107           if [ "{repo}" = "_" ]; then
108             image={container}:{functest_tag}
109           elif [ "{port}" = "None" ]; then
110             image={repo}/{container}:{functest_tag}
111           else
112             image={repo}:{port}/{container}:{functest_tag}
113           fi
114           sudo docker rmi $image || true
115
116 - builder:
117     name: airship-deploy
118     builders:
119       - shell: |
120           set +x
121           export TERM_OPTS=" "
122           sudo -H -E -u ubuntu bash -c 'tools/deploy.sh $slave deploy_site'
123
124 - scm:
125     name: airship-scm
126     scm:
127       - git:
128           url: https://gerrit.opnfv.org/gerrit/airship
129           refspec: '+refs/changes/*:refs/changes/*'
130           branches:
131             - '{ref}'
132
133 - parameter:
134     name: airship-branch
135     parameters:
136       - string:
137           name: branch
138           default: '{branch}'
139
140 - job-template:
141     name: 'airship-deploy-daily-{tag}'
142     parameters:
143       - airship-slave:
144           slave: '{slave}'
145       - airship-branch:
146           branch: '{branch}'
147     scm:
148       - airship-scm:
149           ref: $branch
150     builders:
151       - airship-deploy
152
153 - job-template:
154     name: 'airship-deploy-gate-{tag}'
155     parameters:
156       - airship-slave:
157           slave: '{slave}'
158     scm:
159       - airship-scm:
160           ref: $GERRIT_REFSPEC
161     builders:
162       - airship-deploy
163
164 - project:
165     name: 'airship-deploy'
166     <<: *airship-params
167     jobs:
168       - 'airship-deploy-daily-{tag}'
169       - 'airship-deploy-gate-{tag}'
170
171 - job-template:
172     name: 'airship-{repo}-{container}-{tag}-pull'
173     parameters:
174       - airship-slave:
175           slave: '{slave}'
176     builders:
177       - airship-pull-containers:
178           <<: *airship-containers
179
180 - project:
181     name: 'airship-opnfv-functest-healthcheck-pull'
182     <<: *airship-params
183     container: 'functest-healthcheck'
184     jobs:
185       - 'airship-{repo}-{container}-{tag}-pull'
186
187 - project:
188     name: 'airship-opnfv-functest-smoke-pull'
189     <<: *airship-params
190     container: 'functest-smoke'
191     jobs:
192       - 'airship-{repo}-{container}-{tag}-pull'
193
194 - project:
195     name: 'airship-opnfv-functest-benchmarking-pull'
196     <<: *airship-params
197     container: 'functest-benchmarking'
198     jobs:
199       - 'airship-{repo}-{container}-{tag}-pull'
200
201 - project:
202     name: 'airship-opnfv-functest-vnf-pull'
203     <<: *airship-params
204     container: 'functest-vnf'
205     jobs:
206       - 'airship-{repo}-{container}-{tag}-pull'
207
208 - job-template:
209     name: 'airship-{repo}-{container}-{tag}-rmi'
210     parameters:
211       - airship-slave:
212           slave: '{slave}'
213     builders:
214       - airship-remove-images:
215           <<: *airship-containers
216
217 - project:
218     name: 'airship-opnfv-functest-healthcheck-rmi'
219     <<: *airship-params
220     container: 'functest-healthcheck'
221     jobs:
222       - 'airship-{repo}-{container}-{tag}-rmi'
223
224 - project:
225     name: 'airship-opnfv-functest-smoke-rmi'
226     <<: *airship-params
227     container: 'functest-smoke'
228     jobs:
229       - 'airship-{repo}-{container}-{tag}-rmi'
230
231 - project:
232     name: 'airship-opnfv-functest-benchmarking-rmi'
233     <<: *airship-params
234     container: 'functest-benchmarking'
235     jobs:
236       - 'airship-{repo}-{container}-{tag}-rmi'
237
238 - project:
239     name: 'airship-opnfv-functest-vnf-rmi'
240     <<: *airship-params
241     container: 'functest-vnf'
242     jobs:
243       - 'airship-{repo}-{container}-{tag}-rmi'
244
245 - job-template:
246     name: 'airship-{repo}-{container}-{tag}-{test}-run'
247     parameters:
248       - airship-slave:
249           slave: '{slave}'
250       - airship-build_tag:
251           build_tag: ''
252       - airship-DEBUG:
253           DEBUG: 'true'
254       - airship-EXTERNAL_NETWORK:
255           EXTERNAL_NETWORK: public
256     builders:
257       - airship-run-containers:
258           <<: *airship-run-containers
259
260 - project:
261     name: 'airship-opnfv-functest-healthcheck'
262     <<: *airship-params
263     container: 'functest-healthcheck'
264     test:
265       - connection_check
266       - tenantnetwork1
267       - tenantnetwork2
268       - vmready1
269       - vmready2
270       - singlevm1
271       - singlevm2
272       - vping_ssh
273       - vping_userdata
274       - cinder_test
275       - odl
276       - tempest_smoke
277     jobs:
278       - 'airship-{repo}-{container}-{tag}-{test}-run'
279
280 - project:
281     name: 'airship-opnfv-functest-smoke'
282     <<: *airship-params
283     container: 'functest-smoke'
284     test:
285       - neutron-tempest-plugin-api
286       - tempest_cinder
287       - tempest_keystone
288       - rally_sanity
289       - refstack_defcore
290       - tempest_full
291       - tempest_scenario
292       - tempest_slow
293       - patrole
294       - neutron_trunk
295       - networking-bgpvpn
296       - networking-sfc
297       - barbican
298     jobs:
299       - 'airship-{repo}-{container}-{tag}-{test}-run'
300
301 - project:
302     name: 'airship-opnfv-functest-benchmarking'
303     <<: *airship-params
304     container: 'functest-benchmarking'
305     test:
306       - rally_full
307       - rally_jobs
308       - vmtp
309       - shaker
310     jobs:
311       - 'airship-{repo}-{container}-{tag}-{test}-run'
312
313 - project:
314     name: 'airship-opnfv-functest-vnf'
315     <<: *airship-params
316     container: 'functest-vnf'
317     test:
318       - cloudify
319       - cloudify_ims
320       - heat_ims
321       - vyos_vrouter
322       - juju_epc
323     jobs:
324       - 'airship-{repo}-{container}-{tag}-{test}-run'
325
326 - job-template:
327     name: 'airship-{tag}-daily'
328     project-type: multijob
329     triggers:
330       - timed: '@daily'
331     parameters:
332       - airship-slave:
333           slave: '{slave}'
334       - airship-build_tag:
335           build_tag: ''
336       - airship-branch:
337           branch: 'master'
338       - airship-DEBUG:
339           DEBUG: 'true'
340       - airship-EXTERNAL_NETWORK:
341           EXTERNAL_NETWORK: public
342     properties:
343       - build-blocker:
344           use-build-blocker: true
345           blocking-level: 'NODE'
346           blocking-jobs:
347             - '^airship-{tag}-(daily|gate)$'
348     builders:
349       - multijob:
350           name: deploy
351           projects:
352             - name: 'airship-deploy-daily-{tag}'
353               <<: *airship-jobs
354       - multijob:
355           name: remove former images
356           projects:
357             - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
358               <<: *airship-jobs
359             - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
360               <<: *airship-jobs
361             - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
362               <<: *airship-jobs
363             - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
364               <<: *airship-jobs
365       - multijob:
366           name: pull containers
367           projects:
368             - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
369               <<: *airship-jobs
370             - name: 'airship-opnfv-functest-smoke-{tag}-pull'
371               <<: *airship-jobs
372             - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
373               <<: *airship-jobs
374             - name: 'airship-opnfv-functest-vnf-{tag}-pull'
375               <<: *airship-jobs
376       - multijob:
377           name: opnfv/functest-healthcheck:{functest_tag}
378           condition: ALWAYS
379           projects:
380             - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
381               <<: *airship-jobs
382             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
383               <<: *airship-jobs
384             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
385               <<: *airship-jobs
386             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
387               <<: *airship-jobs
388             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
389               <<: *airship-jobs
390             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
391               <<: *airship-jobs
392             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
393               <<: *airship-jobs
394             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
395               <<: *airship-jobs
396             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
397               <<: *airship-jobs
398             - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
399               <<: *airship-jobs
400             - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
401               <<: *airship-jobs
402             - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
403               <<: *airship-jobs
404       - multijob:
405           name: opnfv/functest-smoke:{functest_tag}
406           condition: ALWAYS
407           projects:
408             - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
409               <<: *airship-jobs
410             - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest_cinder-run'
411               <<: *airship-jobs
412             - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest_keystone-run'
413               <<: *airship-jobs
414             - name: 'airship-opnfv-functest-smoke-{tag}-rally_sanity-run'
415               <<: *airship-jobs
416             - name: 'airship-opnfv-functest-smoke-{tag}-refstack_defcore-run'
417               <<: *airship-jobs
418             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_full-run'
419               <<: *airship-jobs
420             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
421               <<: *airship-jobs
422             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_slow-run'
423               <<: *airship-jobs
424             - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
425               <<: *airship-jobs
426             - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
427               <<: *airship-jobs
428             - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
429               <<: *airship-jobs
430             - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
431               <<: *airship-jobs
432             - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
433               <<: *airship-jobs
434       - multijob:
435           name: opnfv/functest-benchmarking:{functest_tag}
436           condition: ALWAYS
437           projects:
438             - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_full-run'
439               <<: *airship-jobs
440             - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
441               <<: *airship-jobs
442             - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
443               <<: *airship-jobs
444             - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
445               <<: *airship-jobs
446       - multijob:
447           name: opnfv/functest-vnf:{functest_tag}
448           condition: ALWAYS
449           execution-type: SEQUENTIALLY
450           projects:
451             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
452               <<: *airship-jobs
453             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
454               <<: *airship-jobs
455             - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
456               <<: *airship-jobs
457             - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
458               <<: *airship-jobs
459             - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
460               <<: *airship-jobs
461
462 - trigger:
463     name: airship-patchset-created
464     triggers:
465       - gerrit:
466           server-name: 'gerrit.opnfv.org'
467           trigger-on:
468             - patchset-created-event
469             - comment-added-contains-event:
470                 comment-contains-value: 'recheck'
471             - comment-added-contains-event:
472                 comment-contains-value: 'reverify'
473           projects:
474             - project-compare-type: 'ANT'
475               project-pattern: 'airship'
476               branches:
477                 - branch-compare-type: 'ANT'
478                   branch-pattern: '**/{branch}'
479           skip-vote:
480             successful: false
481             failed: false
482             unstable: false
483             notbuilt: false
484
485 - job-template:
486     name: 'airship-{tag}-gate'
487     project-type: multijob
488     triggers:
489       - airship-patchset-created:
490           branch: '{branch}'
491     parameters:
492       - airship-slave:
493           slave: '{slave}'
494       - airship-build_tag:
495           build_tag: ''
496       - airship-DEBUG:
497           DEBUG: 'true'
498       - airship-EXTERNAL_NETWORK:
499           EXTERNAL_NETWORK: public
500     properties:
501       - build-blocker:
502           use-build-blocker: true
503           blocking-level: 'NODE'
504           blocking-jobs:
505             - '^airship-{tag}-(daily|gate)$'
506     builders:
507       - multijob:
508           name: deploy
509           projects:
510             - name: 'airship-deploy-gate-{tag}'
511               <<: *airship-jobs
512       - multijob:
513           name: remove former images
514           projects:
515             - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
516               <<: *airship-jobs
517             - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
518               <<: *airship-jobs
519             - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
520               <<: *airship-jobs
521             - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
522               <<: *airship-jobs
523       - multijob:
524           name: pull containers
525           projects:
526             - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
527               <<: *airship-jobs
528             - name: 'airship-opnfv-functest-smoke-{tag}-pull'
529               <<: *airship-jobs
530             - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
531               <<: *airship-jobs
532             - name: 'airship-opnfv-functest-vnf-{tag}-pull'
533               <<: *airship-jobs
534       - multijob:
535           name: opnfv/functest-healthcheck:{functest_tag}
536           projects:
537             - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
538               <<: *airship-jobs
539             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
540               <<: *airship-jobs
541             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
542               <<: *airship-jobs
543             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
544               <<: *airship-jobs
545             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
546               <<: *airship-jobs
547             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
548               <<: *airship-jobs
549             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
550               <<: *airship-jobs
551             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
552               <<: *airship-jobs
553             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
554               <<: *airship-jobs
555             - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
556               <<: *airship-jobs
557             - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
558               <<: *airship-jobs
559       - multijob:
560           name: opnfv/functest-smoke:{functest_tag}
561           projects:
562             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
563               <<: *airship-jobs
564             - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
565               <<: *airship-jobs
566             - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
567               <<: *airship-jobs
568             - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
569               <<: *airship-jobs
570             - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
571               <<: *airship-jobs
572       - multijob:
573           name: opnfv/functest-benchmarking:{functest_tag}
574           projects:
575             - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
576               <<: *airship-jobs
577             - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
578               <<: *airship-jobs
579       - multijob:
580           name: opnfv/functest-vnf:{functest_tag}
581           condition: ALWAYS
582           execution-type: SEQUENTIALLY
583           projects:
584             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
585               <<: *airship-jobs
586             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
587               <<: *airship-jobs
588             - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
589               <<: *airship-jobs
590             - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
591               <<: *airship-jobs
592             - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
593               <<: *airship-jobs
594
595 - project:
596     name: 'airship'
597     <<: *airship-params
598     jobs:
599       - 'airship-{tag}-daily'
600       - 'airship-{tag}-gate'
601
602 - view:
603     name: airship
604     view-type: list
605     columns:
606       - status
607       - weather
608       - job
609       - last-success
610       - last-failure
611       - last-duration
612     regex: ^airship-[a-z]+-(daily|check|gate)$