Merge "Add tempest_cyborg in Functest gates"
[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       - tempest_cyborg
341     exclude:
342       - tag: latest
343         test: refstack_defcore
344       - tag: latest
345         test: neutron_trunk
346       - tag: latest
347         test: networking-bgpvpn
348       - tag: latest
349         test: networking-sfc
350       - tag: latest
351         test: patrole
352       - tag: kali
353         test: refstack_defcore
354       - tag: kali
355         test: neutron_trunk
356       - tag: kali
357         test: networking-bgpvpn
358       - tag: kali
359         test: networking-sfc
360       - tag: kali
361         test: patrole_admin
362       - tag: kali
363         test: patrole_member
364       - tag: kali
365         test: patrole_reader
366       - tag: kali
367         test: tempest_cyborg
368       - tag: jerma
369         test: refstack_defcore
370       - tag: jerma
371         test: neutron_trunk
372       - tag: jerma
373         test: networking-bgpvpn
374       - tag: jerma
375         test: networking-sfc
376       - tag: jerma
377         test: patrole_admin
378       - tag: jerma
379         test: patrole_member
380       - tag: jerma
381         test: patrole_reader
382       - tag: jerma
383         test: tempest_cyborg
384       - tag: iruya
385         test: refstack_defcore
386       - tag: iruya
387         test: neutron_trunk
388       - tag: iruya
389         test: patrole_admin
390       - tag: iruya
391         test: patrole_member
392       - tag: iruya
393         test: patrole_reader
394       - tag: iruya
395         test: tempest_cyborg
396       - tag: hunter
397         test: refstack_compute
398       - tag: hunter
399         test: refstack_object
400       - tag: hunter
401         test: refstack_platform
402       - tag: hunter
403         test: tempest_octavia
404       - tag: hunter
405         test: neutron_trunk
406       - tag: hunter
407         test: tempest_telemetry
408       - tag: hunter
409         test: patrole_admin
410       - tag: hunter
411         test: patrole_member
412       - tag: hunter
413         test: patrole_reader
414       - tag: hunter
415         test: tempest_cyborg
416     jobs:
417       - 'functest-{repo}-{container}-{tag}-{test}-run'
418
419 - project:
420     name: 'functest-opnfv-functest-smoke-cntt'
421     <<: *functest-params
422     container: 'functest-smoke-cntt'
423     test:
424       - tempest_neutron_cntt
425       - tempest_cinder_cntt
426       - tempest_keystone_cntt
427       - tempest_heat_cntt
428       - rally_sanity_cntt
429       - tempest_full_cntt
430       - tempest_scenario_cntt
431       - tempest_slow_cntt
432     jobs:
433       - 'functest-{repo}-{container}-{tag}-{test}-run'
434
435 - project:
436     name: 'functest-opnfv-functest-benchmarking'
437     <<: *functest-params
438     container: 'functest-benchmarking'
439     test:
440       - rally_full
441       - rally_jobs
442       - vmtp
443       - shaker
444     jobs:
445       - 'functest-{repo}-{container}-{tag}-{test}-run'
446
447 - project:
448     name: 'functest-opnfv-functest-benchmarking-cntt'
449     <<: *functest-params
450     container: 'functest-benchmarking-cntt'
451     test:
452       - rally_full_cntt
453       - rally_jobs_cntt
454     jobs:
455       - 'functest-{repo}-{container}-{tag}-{test}-run'
456
457 - project:
458     name: 'functest-opnfv-functest-vnf'
459     <<: *functest-params
460     container: 'functest-vnf'
461     test:
462       - cloudify
463       - cloudify_ims
464       - heat_ims
465       - vyos_vrouter
466       - juju_epc
467     jobs:
468       - 'functest-{repo}-{container}-{tag}-{test}-run'
469
470 - builder:
471     name: functest-zip
472     builders:
473       - shell: |
474           set +x
475           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
476           if [ "{repo}" = "_" ]; then
477             image={container}:{tag}
478           elif [ "{port}" = "None" ]; then
479             image={repo}/{container}:{tag}
480           else
481             image={repo}:{port}/{container}:{tag}
482           fi
483           sudo docker run --rm \
484             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
485             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
486             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
487             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
488             -e BUILD_TAG=$BUILD_TAG \
489             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
490             -v /home/opnfv/functest/.boto:/root/.boto \
491             $image zip_campaign
492
493 - job-template:
494     name: 'functest-{tag}-zip'
495     parameters:
496       - functest-build_tag:
497           build_tag: ''
498     builders:
499       - functest-zip:
500           <<: *functest-containers
501
502 - project:
503     name: 'functest-{tag}-zip'
504     <<: *functest-params
505     container: 'functest-healthcheck'
506     jobs:
507       - 'functest-{tag}-zip'
508
509 - job-template:
510     name: 'functest-{tag}-daily'
511     project-type: multijob
512     triggers:
513       - timed: '@daily'
514     parameters:
515       - functest-slave:
516           slave: '{slave}'
517       - functest-build_tag:
518           build_tag: ''
519       - functest-DEBUG:
520           DEBUG: 'true'
521       - functest-EXTERNAL_NETWORK:
522           EXTERNAL_NETWORK: public
523     properties:
524       - build-blocker:
525           use-build-blocker: true
526           blocking-level: 'NODE'
527           blocking-jobs:
528             - '^functest-{tag}-(daily|check|gate)$'
529     builders:
530       - multijob:
531           name: remove former images
532           projects:
533             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
534               <<: *functest-jobs
535             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
536               <<: *functest-jobs
537             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
538               <<: *functest-jobs
539             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
540               <<: *functest-jobs
541             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
542               <<: *functest-jobs
543             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
544               <<: *functest-jobs
545       - multijob:
546           name: pull containers
547           projects:
548             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
549               <<: *functest-jobs
550             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
551               <<: *functest-jobs
552             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
553               <<: *functest-jobs
554             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
555               <<: *functest-jobs
556             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
557               <<: *functest-jobs
558             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
559               <<: *functest-jobs
560       - multijob:
561           name: opnfv/functest-healthcheck:{tag}
562           projects:
563             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
564               <<: *functest-jobs
565             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
566               <<: *functest-jobs
567             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
568               <<: *functest-jobs
569             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
570               <<: *functest-jobs
571             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
572               <<: *functest-jobs
573             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
574               <<: *functest-jobs
575             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
576               <<: *functest-jobs
577             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
578               <<: *functest-jobs
579             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
580               <<: *functest-jobs
581             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
582               <<: *functest-jobs
583             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
584               <<: *functest-jobs
585             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
586               <<: *functest-jobs
587             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
588               <<: *functest-jobs
589       - multijob:
590           name: opnfv/functest-smoke:{tag}
591           projects:
592             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
593               <<: *functest-jobs
594             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
595               <<: *functest-jobs
596             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
597               <<: *functest-jobs
598             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
599               <<: *functest-jobs
600             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
601               <<: *functest-jobs
602             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
603               <<: *functest-jobs
604             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
605               <<: *functest-jobs
606             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
607               <<: *functest-jobs
608             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
609               <<: *functest-jobs
610             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
611               <<: *functest-jobs
612             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
613               <<: *functest-jobs
614             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
615               <<: *functest-jobs
616             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
617               <<: *functest-jobs
618             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
619               <<: *functest-jobs
620             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
621               <<: *functest-jobs
622             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
623               <<: *functest-jobs
624             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
625               <<: *functest-jobs
626             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
627               <<: *functest-jobs
628             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
629               <<: *functest-jobs
630             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
631               <<: *functest-jobs
632             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
633               <<: *functest-jobs
634             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
635               <<: *functest-jobs
636             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
637               <<: *functest-jobs
638       - multijob:
639           name: opnfv/functest-smoke-cntt:{tag}
640           projects:
641             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
642               <<: *functest-jobs
643             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
644               <<: *functest-jobs
645             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
646               <<: *functest-jobs
647             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
648               <<: *functest-jobs
649             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
650               <<: *functest-jobs
651             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
652               <<: *functest-jobs
653             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
654               <<: *functest-jobs
655             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
656               <<: *functest-jobs
657       - multijob:
658           name: opnfv/functest-benchmarking:{tag}
659           projects:
660             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
661               <<: *functest-jobs
662             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
663               <<: *functest-jobs
664             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
665               <<: *functest-jobs
666             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
667               <<: *functest-jobs
668       - multijob:
669           name: opnfv/functest-benchmarking-cntt:{tag}
670           projects:
671             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
672               <<: *functest-jobs
673             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
674               <<: *functest-jobs
675       - multijob:
676           name: opnfv/functest-vnf:{tag}
677           projects:
678             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
679               <<: *functest-jobs
680             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
681               <<: *functest-jobs
682             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
683               <<: *functest-jobs
684             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
685               <<: *functest-jobs
686             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
687               <<: *functest-jobs
688       - multijob:
689           name: dump all campaign data
690           projects:
691             - name: 'functest-{tag}-zip'
692               <<: *functest-jobs
693
694 - job-template:
695     name: 'functest-{repo}-{container}-{tag}-gate'
696     parameters:
697       - functest-slave:
698           slave: '{slave}'
699     scm:
700       - functest-scm:
701           ref: $GERRIT_REFSPEC
702     builders:
703       - functest-build-containers:
704           <<: *functest-build-containers
705           ref: $GERRIT_REFSPEC
706
707 - job-template:
708     name: 'functest-{repo}-{container}-{tag}-check'
709     parameters:
710       - functest-slave:
711           slave: '{slave}'
712       - functest-branch:
713           branch: '{branch}'
714     scm:
715       - functest-scm:
716           ref: $branch
717     builders:
718       - functest-build-containers:
719           <<: *functest-build-containers
720           ref: $branch
721
722 - project:
723     name: 'functest-_-alpine-3.12-rmi'
724     repo: _
725     port:
726     container: alpine
727     tag: '3.12'
728     slave: master
729     jobs:
730       - 'functest-{repo}-{container}-{tag}-rmi'
731
732 - project:
733     name: 'functest-_-alpine-3.12-pull'
734     repo: _
735     port:
736     container: alpine
737     tag: '3.12'
738     slave: master
739     jobs:
740       - 'functest-{repo}-{container}-{tag}-pull'
741
742 - project:
743     name: functest-opnfv-functest-core-{tag}-build
744     <<: *functest-params
745     container: functest-core
746     ref_arg: BRANCH
747     path: docker/core
748     jobs:
749       - 'functest-{repo}-{container}-{tag}-gate'
750       - 'functest-{repo}-{container}-{tag}-check'
751
752 - project:
753     name: functest-opnfv-functest-tempest-{tag}-build
754     <<: *functest-params
755     container: functest-tempest
756     ref_arg: BRANCH
757     path: docker/tempest
758     jobs:
759       - 'functest-{repo}-{container}-{tag}-gate'
760       - 'functest-{repo}-{container}-{tag}-check'
761     exclude:
762       - tag: latest
763       - tag: kali
764       - tag: jerma
765
766 - project:
767     name: functest-opnfv-functest-healthcheck-{tag}-build
768     <<: *functest-params
769     container: functest-healthcheck
770     ref_arg: BRANCH
771     path: docker/healthcheck
772     jobs:
773       - 'functest-{repo}-{container}-{tag}-gate'
774       - 'functest-{repo}-{container}-{tag}-check'
775
776 - project:
777     name: functest-opnfv-functest-smoke-{tag}-build
778     <<: *functest-params
779     container: functest-smoke
780     ref_arg: BRANCH
781     path: docker/smoke
782     jobs:
783       - 'functest-{repo}-{container}-{tag}-gate'
784       - 'functest-{repo}-{container}-{tag}-check'
785
786 - project:
787     name: functest-opnfv-functest-benchmarking-{tag}-build
788     <<: *functest-params
789     container: functest-benchmarking
790     ref_arg: BRANCH
791     path: docker/benchmarking
792     jobs:
793       - 'functest-{repo}-{container}-{tag}-gate'
794       - 'functest-{repo}-{container}-{tag}-check'
795
796 - project:
797     name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
798     <<: *functest-params
799     container: functest-benchmarking-cntt
800     ref_arg: BRANCH
801     path: docker/benchmarking-cntt
802     jobs:
803       - 'functest-{repo}-{container}-{tag}-gate'
804       - 'functest-{repo}-{container}-{tag}-check'
805
806 - project:
807     name: functest-opnfv-functest-vnf-{tag}-build
808     <<: *functest-params
809     container: functest-vnf
810     ref_arg:
811     path: docker/vnf
812     jobs:
813       - 'functest-{repo}-{container}-{tag}-gate'
814       - 'functest-{repo}-{container}-{tag}-check'
815
816 - project:
817     name: functest-opnfv-functest-smoke-cntt-{tag}-build
818     <<: *functest-params
819     container: functest-smoke-cntt
820     ref_arg: BRANCH
821     path: docker/smoke-cntt
822     jobs:
823       - 'functest-{repo}-{container}-{tag}-gate'
824       - 'functest-{repo}-{container}-{tag}-check'
825
826 - job-template:
827     name: 'functest-{tag}-check'
828     project-type: multijob
829     parameters:
830       - functest-slave:
831           slave: '{slave}'
832       - functest-build_tag:
833           build_tag: ''
834       - functest-branch:
835           branch: '{branch}'
836       - functest-DEBUG:
837           DEBUG: 'true'
838       - functest-EXTERNAL_NETWORK:
839           EXTERNAL_NETWORK: public
840     properties:
841       - build-blocker:
842           use-build-blocker: true
843           blocking-level: 'NODE'
844           blocking-jobs:
845             - '^functest-{tag}-(daily|check|gate)$'
846     builders:
847       - multijob:
848           name: remove former images
849           projects:
850             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
851               <<: *functest-jobs
852             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
853               <<: *functest-jobs
854             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
855               <<: *functest-jobs
856             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
857               <<: *functest-jobs
858             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
859               <<: *functest-jobs
860             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
861               <<: *functest-jobs
862       - multijob:
863           name: remove dependencies
864           projects:
865             - name: 'functest-_-alpine-3.12-rmi'
866               <<: *functest-jobs
867       - multijob:
868           name: pull dependencies
869           projects:
870             - name: 'functest-_-alpine-3.12-pull'
871               <<: *functest-jobs
872       - multijob:
873           name: build opnfv/functest-core
874           projects:
875             - name: 'functest-opnfv-functest-core-{tag}-check'
876               <<: *functest-jobs
877       - multijob:
878           name: build opnfv/functest-tempest
879           projects:
880             - name: 'functest-opnfv-functest-tempest-{tag}-check'
881               <<: *functest-jobs
882       - multijob:
883           name: build containers
884           projects:
885             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
886               <<: *functest-jobs
887             - name: 'functest-opnfv-functest-smoke-{tag}-check'
888               <<: *functest-jobs
889             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
890               <<: *functest-jobs
891             - name: 'functest-opnfv-functest-vnf-{tag}-check'
892               <<: *functest-jobs
893       - multijob:
894           name: build cntt containers
895           projects:
896             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
897               <<: *functest-jobs
898             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-check'
899               <<: *functest-jobs
900       - multijob:
901           name: opnfv/functest-healthcheck:{tag}
902           projects:
903             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
904               <<: *functest-jobs
905             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
906               <<: *functest-jobs
907             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
908               <<: *functest-jobs
909             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
910               <<: *functest-jobs
911             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
912               <<: *functest-jobs
913             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
914               <<: *functest-jobs
915             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
916               <<: *functest-jobs
917             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
918               <<: *functest-jobs
919             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
920               <<: *functest-jobs
921             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
922               <<: *functest-jobs
923             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
924               <<: *functest-jobs
925             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
926               <<: *functest-jobs
927             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
928               <<: *functest-jobs
929       - multijob:
930           name: opnfv/functest-smoke:{tag}
931           projects:
932             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
933               <<: *functest-jobs
934             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
935               <<: *functest-jobs
936             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
937               <<: *functest-jobs
938             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
939               <<: *functest-jobs
940             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
941               <<: *functest-jobs
942             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
943               <<: *functest-jobs
944             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
945               <<: *functest-jobs
946             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
947               <<: *functest-jobs
948             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
949               <<: *functest-jobs
950             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
951               <<: *functest-jobs
952             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
953               <<: *functest-jobs
954             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
955               <<: *functest-jobs
956             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
957               <<: *functest-jobs
958             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
959               <<: *functest-jobs
960             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
961               <<: *functest-jobs
962             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
963               <<: *functest-jobs
964             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
965               <<: *functest-jobs
966             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
967               <<: *functest-jobs
968             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
969               <<: *functest-jobs
970             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
971               <<: *functest-jobs
972             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
973               <<: *functest-jobs
974             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
975               <<: *functest-jobs
976             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
977               <<: *functest-jobs
978       - multijob:
979           name: opnfv/functest-smoke-cntt:{tag}
980           projects:
981             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
982               <<: *functest-jobs
983             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
984               <<: *functest-jobs
985             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
986               <<: *functest-jobs
987             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
988               <<: *functest-jobs
989             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
990               <<: *functest-jobs
991             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
992               <<: *functest-jobs
993             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
994               <<: *functest-jobs
995             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
996               <<: *functest-jobs
997       - multijob:
998           name: opnfv/functest-benchmarking:{tag}
999           projects:
1000             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1001               <<: *functest-jobs
1002             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1003               <<: *functest-jobs
1004             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1005               <<: *functest-jobs
1006             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1007               <<: *functest-jobs
1008       - multijob:
1009           name: opnfv/functest-benchmarking-cntt:{tag}
1010           projects:
1011             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1012               <<: *functest-jobs
1013             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1014               <<: *functest-jobs
1015       - multijob:
1016           name: opnfv/functest-vnf:{tag}
1017           projects:
1018             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1019               <<: *functest-jobs
1020             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1021               <<: *functest-jobs
1022             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1023               <<: *functest-jobs
1024             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1025               <<: *functest-jobs
1026             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1027               <<: *functest-jobs
1028
1029 - trigger:
1030     name: functest-patchset-created
1031     triggers:
1032       - gerrit:
1033           server-name: 'gerrit.opnfv.org'
1034           trigger-on:
1035             - patchset-created-event
1036             - comment-added-contains-event:
1037                 comment-contains-value: 'recheck'
1038             - comment-added-contains-event:
1039                 comment-contains-value: 'reverify'
1040           projects:
1041             - project-compare-type: 'ANT'
1042               project-pattern: 'functest'
1043               branches:
1044                 - branch-compare-type: 'ANT'
1045                   branch-pattern: '**/{branch}'
1046           skip-vote:
1047             successful: false
1048             failed: false
1049             unstable: false
1050             notbuilt: false
1051
1052 - job-template:
1053     name: 'functest-{tag}-gate'
1054     project-type: multijob
1055     triggers:
1056       - functest-patchset-created:
1057           branch: '{branch}'
1058     parameters:
1059       - functest-slave:
1060           slave: '{slave}'
1061       - functest-build_tag:
1062           build_tag: ''
1063       - functest-DEBUG:
1064           DEBUG: 'true'
1065       - functest-EXTERNAL_NETWORK:
1066           EXTERNAL_NETWORK: public
1067     properties:
1068       - build-blocker:
1069           use-build-blocker: true
1070           blocking-level: 'NODE'
1071           blocking-jobs:
1072             - '^functest-{tag}-(daily|check|gate)$'
1073     builders:
1074       - multijob:
1075           name: remove former images
1076           projects:
1077             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1078               <<: *functest-jobs
1079             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1080               <<: *functest-jobs
1081             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1082               <<: *functest-jobs
1083             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1084               <<: *functest-jobs
1085             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1086               <<: *functest-jobs
1087             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1088               <<: *functest-jobs
1089       - multijob:
1090           name: remove dependencies
1091           projects:
1092             - name: 'functest-_-alpine-3.12-rmi'
1093               <<: *functest-jobs
1094       - multijob:
1095           name: pull dependencies
1096           projects:
1097             - name: 'functest-_-alpine-3.12-pull'
1098               <<: *functest-jobs
1099       - multijob:
1100           name: build opnfv/functest-core
1101           projects:
1102             - name: 'functest-opnfv-functest-core-{tag}-gate'
1103               <<: *functest-jobs
1104       - multijob:
1105           name: build opnfv/functest-tempest
1106           projects:
1107             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1108               <<: *functest-jobs
1109       - multijob:
1110           name: build containers
1111           projects:
1112             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1113               <<: *functest-jobs
1114             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1115               <<: *functest-jobs
1116             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1117               <<: *functest-jobs
1118             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1119               <<: *functest-jobs
1120       - multijob:
1121           name: build cntt containers
1122           projects:
1123             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1124               <<: *functest-jobs
1125             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1126               <<: *functest-jobs
1127       - multijob:
1128           name: opnfv/functest-healthcheck:{tag}
1129           projects:
1130             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1131               <<: *functest-jobs
1132             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1133               <<: *functest-jobs
1134             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1135               <<: *functest-jobs
1136             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1137               <<: *functest-jobs
1138             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1139               <<: *functest-jobs
1140             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1141               <<: *functest-jobs
1142             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1143               <<: *functest-jobs
1144             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1145               <<: *functest-jobs
1146             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1147               <<: *functest-jobs
1148             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1149               <<: *functest-jobs
1150             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1151               <<: *functest-jobs
1152             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1153               <<: *functest-jobs
1154             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1155               <<: *functest-jobs
1156       - multijob:
1157           name: opnfv/functest-smoke:{tag}
1158           projects:
1159             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1160               <<: *functest-jobs
1161             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1162               <<: *functest-jobs
1163             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1164               <<: *functest-jobs
1165             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1166               <<: *functest-jobs
1167             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1168               <<: *functest-jobs
1169             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1170               <<: *functest-jobs
1171             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1172               <<: *functest-jobs
1173             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1174               <<: *functest-jobs
1175             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1176               <<: *functest-jobs
1177             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1178               <<: *functest-jobs
1179             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1180               <<: *functest-jobs
1181             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1182               <<: *functest-jobs
1183             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1184               <<: *functest-jobs
1185             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1186               <<: *functest-jobs
1187             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1188               <<: *functest-jobs
1189             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1190               <<: *functest-jobs
1191             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1192               <<: *functest-jobs
1193             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
1194               <<: *functest-jobs
1195             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1196               <<: *functest-jobs
1197             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1198               <<: *functest-jobs
1199             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1200               <<: *functest-jobs
1201             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1202               <<: *functest-jobs
1203             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1204               <<: *functest-jobs
1205       - multijob:
1206           name: opnfv/functest-smoke-cntt:{tag}
1207           projects:
1208             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1209               <<: *functest-jobs
1210             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1211               <<: *functest-jobs
1212             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1213               <<: *functest-jobs
1214             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1215               <<: *functest-jobs
1216             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1217               <<: *functest-jobs
1218             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1219               <<: *functest-jobs
1220             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1221               <<: *functest-jobs
1222             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1223               <<: *functest-jobs
1224       - multijob:
1225           name: opnfv/functest-benchmarking:{tag}
1226           projects:
1227             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1228               <<: *functest-jobs
1229             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1230               <<: *functest-jobs
1231             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1232               <<: *functest-jobs
1233             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1234               <<: *functest-jobs
1235       - multijob:
1236           name: opnfv/functest-benchmarking-cntt:{tag}
1237           projects:
1238             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1239               <<: *functest-jobs
1240             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1241               <<: *functest-jobs
1242       - multijob:
1243           name: opnfv/functest-vnf:{tag}
1244           projects:
1245             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1246               <<: *functest-jobs
1247             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1248               <<: *functest-jobs
1249             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1250               <<: *functest-jobs
1251             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1252               <<: *functest-jobs
1253             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1254               <<: *functest-jobs
1255
1256 - project:
1257     name: 'functest'
1258     <<: *functest-params
1259     jobs:
1260       - 'functest-{tag}-daily'
1261       - 'functest-{tag}-check'
1262       - 'functest-{tag}-gate'
1263
1264 - view:
1265     name: functest
1266     view-type: list
1267     columns:
1268       - status
1269       - weather
1270       - job
1271       - last-success
1272       - last-failure
1273       - last-duration
1274     regex: ^functest(-ovn)?-[a-z]+-daily$
1275
1276 - view:
1277     name: functest-gate
1278     view-type: list
1279     columns:
1280       - status
1281       - weather
1282       - job
1283       - last-success
1284       - last-failure
1285       - last-duration
1286     regex: ^functest(-ovn)?-[a-z]+-gate$