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