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