cca6c07cfd98025c658e03f645cdd05d97e29f7e
[releng.git] / jjb / functest / functest.yaml
1 ---
2 - functest-jobs: &functest-jobs
3     name: 'functest-jobs'
4     current-parameters: true
5
6 - functest-params: &functest-params
7     name: 'functest-params'
8     repo: 'opnfv'
9     port:
10     tag:
11       - latest:
12           branch: master
13           slave: lf-virtual9
14           dashboard_url: http://172.30.13.94
15       - jerma:
16           branch: stable/jerma
17           slave: lf-virtual4
18           dashboard_url: http://172.30.13.89
19       - iruya:
20           branch: stable/iruya
21           slave: lf-virtual4
22           dashboard_url: http://172.30.13.89
23       - hunter:
24           branch: stable/hunter
25           slave: lf-virtual6
26           dashboard_url: http://172.30.13.91
27
28 - parameter:
29     name: functest-slave
30     parameters:
31       - label:
32           name: slave
33           default: '{slave}'
34
35 - parameter:
36     name: functest-build_tag
37     parameters:
38       - random-string:
39           name: build_tag
40
41 - parameter:
42     name: functest-branch
43     parameters:
44       - string:
45           name: branch
46           default: '{branch}'
47
48 - parameter:
49     name: functest-DEBUG
50     parameters:
51       - string:
52           name: DEBUG
53           default: 'true'
54
55 - parameter:
56     name: functest-EXTERNAL_NETWORK
57     parameters:
58       - string:
59           name: EXTERNAL_NETWORK
60           default: public
61
62 - functest-containers: &functest-containers
63     name: 'functest-containers'
64     repo: '{repo}'
65     port: '{port}'
66     container: '{container}'
67     tag: '{tag}'
68
69 - functest-run-containers: &functest-run-containers
70     name: 'functest-run-containers'
71     <<: *functest-containers
72     test: '{test}'
73     dashboard_url: '{dashboard_url}'
74
75 - functest-build-containers: &functest-build-containers
76     name: 'functest-build-containers'
77     <<: *functest-containers
78     ref_arg: '{ref_arg}'
79     path: '{path}'
80
81 - builder:
82     name: functest-pull-containers
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 pull $image
94
95 - builder:
96     name: functest-build-containers
97     builders:
98       - shell: |
99           set +x
100           if [ "{repo}" = "_" ]; then
101             image={container}:{tag}
102           elif [ "{port}" = "None" ]; then
103             image={repo}/{container}:{tag}
104           else
105             image={repo}:{port}/{container}:{tag}
106           fi
107           if [ "{ref_arg}" = "None" ]; then
108             build_arg=""
109           else
110             build_arg="--build-arg {ref_arg}={ref}"
111           fi
112           cd {path}
113           sudo docker build $build_arg \
114             --pull=false --no-cache --force-rm=true \
115             -t $image .
116
117 - builder:
118     name: functest-run-containers
119     builders:
120       - shell: |
121           set +x
122           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
123           if [ "{repo}" = "_" ]; then
124             image={container}:{tag}
125           elif [ "{port}" = "None" ]; then
126             image={repo}/{container}:{tag}
127           else
128             image={repo}:{port}/{container}:{tag}
129           fi
130           if [ "{tag}" = "latest" ]; then
131             py=3.7
132           elif [ "{tag}" = "jerma" ]; then
133             py=3.7
134           elif [ "{tag}" = "iruya" ]; then
135             py=3.6
136           else
137             py=2.7
138           fi
139           sudo docker run --rm \
140             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
141             -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
142             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
143             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
144             -e NODE_NAME=$slave \
145             -e BUILD_TAG=$BUILD_TAG \
146             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
147             -e DEBUG=$DEBUG \
148             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
149             -e DASHBOARD_URL={dashboard_url} \
150             -e VOLUME_DEVICE_NAME=sdb \
151             -e IMAGE_PROPERTIES=hw_scsi_model:virtio-scsi,hw_disk_bus:scsi \
152             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
153             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
154             -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
155           site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
156           blacklist.yaml \
157             -v /home/opnfv/functest/.boto:/root/.boto \
158             $image run_tests -t {test} -r -p
159
160 - builder:
161     name: functest-remove-images
162     builders:
163       - shell: |
164           set +x
165           if [ "{repo}" = "_" ]; then
166             image={container}:{tag}
167           elif [ "{port}" = "None" ]; then
168             image={repo}/{container}:{tag}
169           else
170             image={repo}:{port}/{container}:{tag}
171           fi
172           sudo docker rmi $image || true
173
174 - scm:
175     name: functest-scm
176     scm:
177       - git:
178           url: https://gerrit.opnfv.org/gerrit/functest
179           refspec: '+refs/changes/*:refs/changes/*'
180           branches:
181             - '{ref}'
182
183 - job-template:
184     name: 'functest-{repo}-{container}-{tag}-pull'
185     parameters:
186       - functest-slave:
187           slave: '{slave}'
188     builders:
189       - functest-pull-containers:
190           <<: *functest-containers
191
192 - project:
193     name: 'functest-opnfv-functest-healthcheck-pull'
194     <<: *functest-params
195     container: 'functest-healthcheck'
196     jobs:
197       - 'functest-{repo}-{container}-{tag}-pull'
198
199 - project:
200     name: 'functest-opnfv-functest-smoke-pull'
201     <<: *functest-params
202     container: 'functest-smoke'
203     jobs:
204       - 'functest-{repo}-{container}-{tag}-pull'
205
206 - project:
207     name: 'functest-opnfv-functest-smoke-cntt-pull'
208     <<: *functest-params
209     container: 'functest-smoke-cntt'
210     jobs:
211       - 'functest-{repo}-{container}-{tag}-pull'
212
213 - project:
214     name: 'functest-opnfv-functest-benchmarking-pull'
215     <<: *functest-params
216     container: 'functest-benchmarking'
217     jobs:
218       - 'functest-{repo}-{container}-{tag}-pull'
219
220 - project:
221     name: 'functest-opnfv-functest-vnf-pull'
222     <<: *functest-params
223     container: 'functest-vnf'
224     jobs:
225       - 'functest-{repo}-{container}-{tag}-pull'
226
227 - job-template:
228     name: 'functest-{repo}-{container}-{tag}-rmi'
229     parameters:
230       - functest-slave:
231           slave: '{slave}'
232     builders:
233       - functest-remove-images:
234           <<: *functest-containers
235
236 - project:
237     name: 'functest-opnfv-functest-healthcheck-rmi'
238     <<: *functest-params
239     container: 'functest-healthcheck'
240     jobs:
241       - 'functest-{repo}-{container}-{tag}-rmi'
242
243 - project:
244     name: 'functest-opnfv-functest-smoke-rmi'
245     <<: *functest-params
246     container: 'functest-smoke'
247     jobs:
248       - 'functest-{repo}-{container}-{tag}-rmi'
249
250 - project:
251     name: 'functest-opnfv-functest-smoke-cntt-rmi'
252     <<: *functest-params
253     container: 'functest-smoke-cntt'
254     jobs:
255       - 'functest-{repo}-{container}-{tag}-rmi'
256
257 - project:
258     name: 'functest-opnfv-functest-benchmarking-rmi'
259     <<: *functest-params
260     container: 'functest-benchmarking'
261     jobs:
262       - 'functest-{repo}-{container}-{tag}-rmi'
263
264 - project:
265     name: 'functest-opnfv-functest-vnf-rmi'
266     <<: *functest-params
267     container: 'functest-vnf'
268     jobs:
269       - 'functest-{repo}-{container}-{tag}-rmi'
270
271 - job-template:
272     name: 'functest-{repo}-{container}-{tag}-{test}-run'
273     parameters:
274       - functest-slave:
275           slave: '{slave}'
276       - functest-build_tag:
277           build_tag: ''
278       - functest-DEBUG:
279           DEBUG: 'true'
280       - functest-EXTERNAL_NETWORK:
281           EXTERNAL_NETWORK: public
282     builders:
283       - functest-run-containers:
284           <<: *functest-run-containers
285
286 - project:
287     name: 'functest-opnfv-functest-healthcheck'
288     <<: *functest-params
289     container: 'functest-healthcheck'
290     test:
291       - connection_check
292       - tenantnetwork1
293       - tenantnetwork2
294       - vmready1
295       - vmready2
296       - singlevm1
297       - singlevm2
298       - vping_ssh
299       - vping_userdata
300       - cinder_test
301       - odl
302       - tempest_smoke
303       - tempest_horizon
304     exclude:
305       - tag: hunter
306         test: tempest_horizon
307     jobs:
308       - 'functest-{repo}-{container}-{tag}-{test}-run'
309
310 - project:
311     name: 'functest-opnfv-functest-smoke'
312     <<: *functest-params
313     container: 'functest-smoke'
314     test:
315       - neutron-tempest-plugin-api
316       - tempest_cinder
317       - tempest_keystone
318       - rally_sanity
319       - refstack_defcore
320       - refstack_compute
321       - refstack_object
322       - refstack_platform
323       - tempest_full
324       - tempest_scenario
325       - tempest_slow
326       - patrole
327       - neutron_trunk
328       - networking-bgpvpn
329       - networking-sfc
330       - barbican
331       - octavia
332     exclude:
333       - tag: latest
334         test: refstack_defcore
335       - tag: jerma
336         test: refstack_defcore
337       - tag: iruya
338         test: refstack_defcore
339       - tag: iruya
340         test: octavia
341       - tag: hunter
342         test: refstack_compute
343       - tag: hunter
344         test: refstack_object
345       - tag: hunter
346         test: refstack_platform
347       - tag: hunter
348         test: octavia
349     jobs:
350       - 'functest-{repo}-{container}-{tag}-{test}-run'
351
352 - project:
353     name: 'functest-opnfv-functest-smoke-cntt'
354     <<: *functest-params
355     container: 'functest-smoke-cntt'
356     test:
357       - neutron-tempest-plugin-api
358       - tempest_cinder
359       - tempest_keystone
360       - rally_sanity
361       - tempest_full
362       - tempest_scenario
363       - tempest_slow
364     jobs:
365       - 'functest-{repo}-{container}-{tag}-{test}-run'
366
367 - project:
368     name: 'functest-opnfv-functest-benchmarking'
369     <<: *functest-params
370     container: 'functest-benchmarking'
371     test:
372       - rally_full
373       - rally_jobs
374       - vmtp
375       - shaker
376     jobs:
377       - 'functest-{repo}-{container}-{tag}-{test}-run'
378
379 - project:
380     name: 'functest-opnfv-functest-vnf'
381     <<: *functest-params
382     container: 'functest-vnf'
383     test:
384       - cloudify
385       - cloudify_ims
386       - heat_ims
387       - vyos_vrouter
388       - juju_epc
389     jobs:
390       - 'functest-{repo}-{container}-{tag}-{test}-run'
391
392 - builder:
393     name: functest-zip
394     builders:
395       - shell: |
396           set +x
397           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
398           if [ "{repo}" = "_" ]; then
399             image={container}:{tag}
400           elif [ "{port}" = "None" ]; then
401             image={repo}/{container}:{tag}
402           else
403             image={repo}:{port}/{container}:{tag}
404           fi
405           sudo docker run --rm \
406             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
407             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
408             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
409             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
410             -e BUILD_TAG=$BUILD_TAG \
411             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
412             -v /home/opnfv/functest/.boto:/root/.boto \
413             $image zip_campaign
414
415 - job-template:
416     name: 'functest-{tag}-zip'
417     parameters:
418       - functest-build_tag:
419           build_tag: ''
420     builders:
421       - functest-zip:
422           <<: *functest-containers
423
424 - project:
425     name: 'functest-{tag}-zip'
426     <<: *functest-params
427     container: 'functest-healthcheck'
428     jobs:
429       - 'functest-{tag}-zip'
430
431 - job-template:
432     name: 'functest-{tag}-daily'
433     disabled: true
434     project-type: multijob
435     triggers:
436       - timed: '@daily'
437     parameters:
438       - functest-slave:
439           slave: '{slave}'
440       - functest-build_tag:
441           build_tag: ''
442       - functest-DEBUG:
443           DEBUG: 'true'
444       - functest-EXTERNAL_NETWORK:
445           EXTERNAL_NETWORK: public
446     properties:
447       - build-blocker:
448           use-build-blocker: true
449           blocking-level: 'NODE'
450           blocking-jobs:
451             - '^functest-{tag}-(daily|check|gate)$'
452     builders:
453       - multijob:
454           name: remove former images
455           projects:
456             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
457               <<: *functest-jobs
458             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
459               <<: *functest-jobs
460             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
461               <<: *functest-jobs
462             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
463               <<: *functest-jobs
464             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
465               <<: *functest-jobs
466       - multijob:
467           name: pull containers
468           projects:
469             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
470               <<: *functest-jobs
471             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
472               <<: *functest-jobs
473             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
474               <<: *functest-jobs
475             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
476               <<: *functest-jobs
477             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
478               <<: *functest-jobs
479       - multijob:
480           name: opnfv/functest-healthcheck:{tag}
481           projects:
482             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
483               <<: *functest-jobs
484             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
485               <<: *functest-jobs
486             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
487               <<: *functest-jobs
488             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
489               <<: *functest-jobs
490             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
491               <<: *functest-jobs
492             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
493               <<: *functest-jobs
494             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
495               <<: *functest-jobs
496             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
497               <<: *functest-jobs
498             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
499               <<: *functest-jobs
500             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
501               <<: *functest-jobs
502             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
503               <<: *functest-jobs
504             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
505               <<: *functest-jobs
506             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
507               <<: *functest-jobs
508       - multijob:
509           name: opnfv/functest-smoke:{tag}
510           projects:
511             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
512               <<: *functest-jobs
513             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
514               <<: *functest-jobs
515             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
516               <<: *functest-jobs
517             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
518               <<: *functest-jobs
519             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
520               <<: *functest-jobs
521             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
522               <<: *functest-jobs
523             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
524               <<: *functest-jobs
525             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
526               <<: *functest-jobs
527             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
528               <<: *functest-jobs
529             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
530               <<: *functest-jobs
531             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
532               <<: *functest-jobs
533             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
534               <<: *functest-jobs
535             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
536               <<: *functest-jobs
537             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
538               <<: *functest-jobs
539             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
540               <<: *functest-jobs
541             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
542               <<: *functest-jobs
543             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
544               <<: *functest-jobs
545       - multijob:
546           name: opnfv/functest-smoke-cntt:{tag}
547           projects:
548             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
549               <<: *functest-jobs
550             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
551               <<: *functest-jobs
552             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
553               <<: *functest-jobs
554             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
555               <<: *functest-jobs
556             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
557               <<: *functest-jobs
558             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
559               <<: *functest-jobs
560             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
561               <<: *functest-jobs
562       - multijob:
563           name: opnfv/functest-benchmarking:{tag}
564           projects:
565             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
566               <<: *functest-jobs
567             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
568               <<: *functest-jobs
569             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
570               <<: *functest-jobs
571             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
572               <<: *functest-jobs
573       - multijob:
574           name: opnfv/functest-vnf:{tag}
575           execution-type: SEQUENTIALLY
576           projects:
577             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
578               <<: *functest-jobs
579             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
580               <<: *functest-jobs
581             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
582               <<: *functest-jobs
583             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
584               <<: *functest-jobs
585             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
586               <<: *functest-jobs
587       - multijob:
588           name: dump all campaign data
589           projects:
590             - name: 'functest-{tag}-zip'
591               <<: *functest-jobs
592
593 - job-template:
594     name: 'functest-{repo}-{container}-{tag}-gate'
595     parameters:
596       - functest-slave:
597           slave: '{slave}'
598     scm:
599       - functest-scm:
600           ref: $GERRIT_REFSPEC
601     builders:
602       - functest-build-containers:
603           <<: *functest-build-containers
604           ref: $GERRIT_REFSPEC
605
606 - job-template:
607     name: 'functest-{repo}-{container}-{tag}-check'
608     parameters:
609       - functest-slave:
610           slave: '{slave}'
611       - functest-branch:
612           branch: '{branch}'
613     scm:
614       - functest-scm:
615           ref: $branch
616     builders:
617       - functest-build-containers:
618           <<: *functest-build-containers
619           ref: $branch
620
621 - project:
622     name: 'functest-_-alpine-3.10-rmi'
623     repo: _
624     port:
625     container: alpine
626     tag: '3.10'
627     slave: master
628     jobs:
629       - 'functest-{repo}-{container}-{tag}-rmi'
630
631 - project:
632     name: 'functest-_-alpine-3.10-pull'
633     repo: _
634     port:
635     container: alpine
636     tag: '3.10'
637     slave: master
638     jobs:
639       - 'functest-{repo}-{container}-{tag}-pull'
640
641 - project:
642     name: functest-opnfv-functest-core-{tag}-build
643     <<: *functest-params
644     container: functest-core
645     ref_arg: BRANCH
646     path: docker/core
647     jobs:
648       - 'functest-{repo}-{container}-{tag}-gate'
649       - 'functest-{repo}-{container}-{tag}-check'
650
651 - project:
652     name: functest-opnfv-functest-tempest-{tag}-build
653     <<: *functest-params
654     container: functest-tempest
655     ref_arg: BRANCH
656     path: docker/tempest
657     jobs:
658       - 'functest-{repo}-{container}-{tag}-gate'
659       - 'functest-{repo}-{container}-{tag}-check'
660     exclude:
661       - tag: latest
662       - tag: jerma
663
664 - project:
665     name: functest-opnfv-functest-healthcheck-{tag}-build
666     <<: *functest-params
667     container: functest-healthcheck
668     ref_arg: BRANCH
669     path: docker/healthcheck
670     jobs:
671       - 'functest-{repo}-{container}-{tag}-gate'
672       - 'functest-{repo}-{container}-{tag}-check'
673
674 - project:
675     name: functest-opnfv-functest-smoke-{tag}-build
676     <<: *functest-params
677     container: functest-smoke
678     ref_arg: BRANCH
679     path: docker/smoke
680     jobs:
681       - 'functest-{repo}-{container}-{tag}-gate'
682       - 'functest-{repo}-{container}-{tag}-check'
683
684 - project:
685     name: functest-opnfv-functest-benchmarking-{tag}-build
686     <<: *functest-params
687     container: functest-benchmarking
688     ref_arg: BRANCH
689     path: docker/benchmarking
690     jobs:
691       - 'functest-{repo}-{container}-{tag}-gate'
692       - 'functest-{repo}-{container}-{tag}-check'
693
694 - project:
695     name: functest-opnfv-functest-vnf-{tag}-build
696     <<: *functest-params
697     container: functest-vnf
698     ref_arg:
699     path: docker/vnf
700     jobs:
701       - 'functest-{repo}-{container}-{tag}-gate'
702       - 'functest-{repo}-{container}-{tag}-check'
703
704 - project:
705     name: functest-opnfv-functest-smoke-cntt-{tag}-build
706     <<: *functest-params
707     container: functest-smoke-cntt
708     ref_arg: BRANCH
709     path: docker/smoke-cntt
710     jobs:
711       - 'functest-{repo}-{container}-{tag}-gate'
712       - 'functest-{repo}-{container}-{tag}-check'
713
714 - job-template:
715     name: 'functest-{tag}-check'
716     project-type: multijob
717     parameters:
718       - functest-slave:
719           slave: '{slave}'
720       - functest-build_tag:
721           build_tag: ''
722       - functest-branch:
723           branch: '{branch}'
724       - functest-DEBUG:
725           DEBUG: 'true'
726       - functest-EXTERNAL_NETWORK:
727           EXTERNAL_NETWORK: public
728     properties:
729       - build-blocker:
730           use-build-blocker: true
731           blocking-level: 'NODE'
732           blocking-jobs:
733             - '^functest-{tag}-(daily|check|gate)$'
734     builders:
735       - multijob:
736           name: remove former images
737           projects:
738             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
739               <<: *functest-jobs
740             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
741               <<: *functest-jobs
742             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
743               <<: *functest-jobs
744             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
745               <<: *functest-jobs
746             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
747               <<: *functest-jobs
748       - multijob:
749           name: remove dependencies
750           projects:
751             - name: 'functest-_-alpine-3.10-rmi'
752               <<: *functest-jobs
753       - multijob:
754           name: pull dependencies
755           projects:
756             - name: 'functest-_-alpine-3.10-pull'
757               <<: *functest-jobs
758       - multijob:
759           name: build opnfv/functest-core
760           projects:
761             - name: 'functest-opnfv-functest-core-{tag}-check'
762               <<: *functest-jobs
763       - multijob:
764           name: build opnfv/functest-tempest
765           projects:
766             - name: 'functest-opnfv-functest-tempest-{tag}-check'
767               <<: *functest-jobs
768       - multijob:
769           name: build containers
770           projects:
771             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
772               <<: *functest-jobs
773             - name: 'functest-opnfv-functest-smoke-{tag}-check'
774               <<: *functest-jobs
775             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
776               <<: *functest-jobs
777             - name: 'functest-opnfv-functest-vnf-{tag}-check'
778               <<: *functest-jobs
779       - multijob:
780           name: build opnfv/functest-smoke-cntt
781           projects:
782             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
783               <<: *functest-jobs
784       - multijob:
785           name: opnfv/functest-healthcheck:{tag}
786           projects:
787             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
788               <<: *functest-jobs
789             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
790               <<: *functest-jobs
791             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
792               <<: *functest-jobs
793             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
794               <<: *functest-jobs
795             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
796               <<: *functest-jobs
797             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
798               <<: *functest-jobs
799             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
800               <<: *functest-jobs
801             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
802               <<: *functest-jobs
803             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
804               <<: *functest-jobs
805             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
806               <<: *functest-jobs
807             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
808               <<: *functest-jobs
809             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
810               <<: *functest-jobs
811             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
812               <<: *functest-jobs
813       - multijob:
814           name: opnfv/functest-smoke:{tag}
815           projects:
816             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
817               <<: *functest-jobs
818             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
819               <<: *functest-jobs
820             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
821               <<: *functest-jobs
822             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
823               <<: *functest-jobs
824             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
825               <<: *functest-jobs
826             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
827               <<: *functest-jobs
828             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
829               <<: *functest-jobs
830             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
831               <<: *functest-jobs
832             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
833               <<: *functest-jobs
834             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
835               <<: *functest-jobs
836             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
837               <<: *functest-jobs
838             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
839               <<: *functest-jobs
840             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
841               <<: *functest-jobs
842             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
843               <<: *functest-jobs
844             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
845               <<: *functest-jobs
846             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
847               <<: *functest-jobs
848             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
849               <<: *functest-jobs
850       - multijob:
851           name: opnfv/functest-smoke-cntt:{tag}
852           projects:
853             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
854               <<: *functest-jobs
855             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
856               <<: *functest-jobs
857             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
858               <<: *functest-jobs
859             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
860               <<: *functest-jobs
861             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
862               <<: *functest-jobs
863             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
864               <<: *functest-jobs
865             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
866               <<: *functest-jobs
867       - multijob:
868           name: opnfv/functest-benchmarking:{tag}
869           projects:
870             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
871               <<: *functest-jobs
872             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
873               <<: *functest-jobs
874             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
875               <<: *functest-jobs
876             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
877               <<: *functest-jobs
878       - multijob:
879           name: opnfv/functest-vnf:{tag}
880           execution-type: SEQUENTIALLY
881           projects:
882             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
883               <<: *functest-jobs
884             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
885               <<: *functest-jobs
886             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
887               <<: *functest-jobs
888             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
889               <<: *functest-jobs
890             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
891               <<: *functest-jobs
892
893 - trigger:
894     name: functest-patchset-created
895     triggers:
896       - gerrit:
897           server-name: 'gerrit.opnfv.org'
898           trigger-on:
899             - patchset-created-event
900             - comment-added-contains-event:
901                 comment-contains-value: 'recheck'
902             - comment-added-contains-event:
903                 comment-contains-value: 'reverify'
904           projects:
905             - project-compare-type: 'ANT'
906               project-pattern: 'functest'
907               branches:
908                 - branch-compare-type: 'ANT'
909                   branch-pattern: '**/{branch}'
910           skip-vote:
911             successful: false
912             failed: false
913             unstable: false
914             notbuilt: false
915
916 - job-template:
917     name: 'functest-{tag}-gate'
918     disabled: true
919     project-type: multijob
920     triggers:
921       - functest-patchset-created:
922           branch: '{branch}'
923     parameters:
924       - functest-slave:
925           slave: '{slave}'
926       - functest-build_tag:
927           build_tag: ''
928       - functest-DEBUG:
929           DEBUG: 'true'
930       - functest-EXTERNAL_NETWORK:
931           EXTERNAL_NETWORK: public
932     properties:
933       - build-blocker:
934           use-build-blocker: true
935           blocking-level: 'NODE'
936           blocking-jobs:
937             - '^functest-{tag}-(daily|check|gate)$'
938     builders:
939       - multijob:
940           name: remove former images
941           projects:
942             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
943               <<: *functest-jobs
944             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
945               <<: *functest-jobs
946             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
947               <<: *functest-jobs
948             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
949               <<: *functest-jobs
950             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
951               <<: *functest-jobs
952       - multijob:
953           name: remove dependencies
954           projects:
955             - name: 'functest-_-alpine-3.10-rmi'
956               <<: *functest-jobs
957       - multijob:
958           name: pull dependencies
959           projects:
960             - name: 'functest-_-alpine-3.10-pull'
961               <<: *functest-jobs
962       - multijob:
963           name: build opnfv/functest-core
964           projects:
965             - name: 'functest-opnfv-functest-core-{tag}-gate'
966               <<: *functest-jobs
967       - multijob:
968           name: build opnfv/functest-tempest
969           projects:
970             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
971               <<: *functest-jobs
972       - multijob:
973           name: build containers
974           projects:
975             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
976               <<: *functest-jobs
977             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
978               <<: *functest-jobs
979             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
980               <<: *functest-jobs
981             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
982               <<: *functest-jobs
983       - multijob:
984           name: build opnfv/functest-smoke-cntt
985           projects:
986             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
987               <<: *functest-jobs
988       - multijob:
989           name: opnfv/functest-healthcheck:{tag}
990           projects:
991             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
992               <<: *functest-jobs
993             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
994               <<: *functest-jobs
995             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
996               <<: *functest-jobs
997             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
998               <<: *functest-jobs
999             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1000               <<: *functest-jobs
1001             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1002               <<: *functest-jobs
1003             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1004               <<: *functest-jobs
1005             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1006               <<: *functest-jobs
1007             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1008               <<: *functest-jobs
1009             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1010               <<: *functest-jobs
1011             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1012               <<: *functest-jobs
1013             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1014               <<: *functest-jobs
1015             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1016               <<: *functest-jobs
1017       - multijob:
1018           name: opnfv/functest-smoke:{tag}
1019           projects:
1020             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
1021               <<: *functest-jobs
1022             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1023               <<: *functest-jobs
1024             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1025               <<: *functest-jobs
1026             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1027               <<: *functest-jobs
1028             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1029               <<: *functest-jobs
1030             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1031               <<: *functest-jobs
1032             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1033               <<: *functest-jobs
1034             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1035               <<: *functest-jobs
1036             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1037               <<: *functest-jobs
1038             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1039               <<: *functest-jobs
1040             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1041               <<: *functest-jobs
1042             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1043               <<: *functest-jobs
1044             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
1045               <<: *functest-jobs
1046             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1047               <<: *functest-jobs
1048             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1049               <<: *functest-jobs
1050             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
1051               <<: *functest-jobs
1052             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
1053               <<: *functest-jobs
1054       - multijob:
1055           name: opnfv/functest-smoke-cntt:{tag}
1056           projects:
1057             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
1058               <<: *functest-jobs
1059             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
1060               <<: *functest-jobs
1061             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
1062               <<: *functest-jobs
1063             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
1064               <<: *functest-jobs
1065             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
1066               <<: *functest-jobs
1067             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
1068               <<: *functest-jobs
1069             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
1070               <<: *functest-jobs
1071       - multijob:
1072           name: opnfv/functest-benchmarking:{tag}
1073           projects:
1074             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1075               <<: *functest-jobs
1076             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1077               <<: *functest-jobs
1078             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1079               <<: *functest-jobs
1080             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1081               <<: *functest-jobs
1082       - multijob:
1083           name: opnfv/functest-vnf:{tag}
1084           execution-type: SEQUENTIALLY
1085           projects:
1086             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1087               <<: *functest-jobs
1088             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1089               <<: *functest-jobs
1090             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1091               <<: *functest-jobs
1092             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1093               <<: *functest-jobs
1094             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1095               <<: *functest-jobs
1096
1097 - project:
1098     name: 'functest'
1099     <<: *functest-params
1100     jobs:
1101       - 'functest-{tag}-daily'
1102       - 'functest-{tag}-check'
1103       - 'functest-{tag}-gate'
1104
1105 - view:
1106     name: functest
1107     view-type: list
1108     columns:
1109       - status
1110       - weather
1111       - job
1112       - last-success
1113       - last-failure
1114       - last-duration
1115     regex: ^functest-[a-z]+-(daily|check|gate)$