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