Prepare new Patrole-based testcases
[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}-neutron_trunk-run'
612               <<: *functest-jobs
613             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
614               <<: *functest-jobs
615             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
616               <<: *functest-jobs
617             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
618               <<: *functest-jobs
619             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
620               <<: *functest-jobs
621       - multijob:
622           name: opnfv/functest-smoke-cntt:{tag}
623           projects:
624             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
625               <<: *functest-jobs
626             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
627               <<: *functest-jobs
628             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
629               <<: *functest-jobs
630             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
631               <<: *functest-jobs
632             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
633               <<: *functest-jobs
634             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
635               <<: *functest-jobs
636             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
637               <<: *functest-jobs
638             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
639               <<: *functest-jobs
640       - multijob:
641           name: opnfv/functest-benchmarking:{tag}
642           projects:
643             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
644               <<: *functest-jobs
645             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
646               <<: *functest-jobs
647             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
648               <<: *functest-jobs
649             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
650               <<: *functest-jobs
651       - multijob:
652           name: opnfv/functest-benchmarking-cntt:{tag}
653           projects:
654             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
655               <<: *functest-jobs
656             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
657               <<: *functest-jobs
658       - multijob:
659           name: opnfv/functest-vnf:{tag}
660           projects:
661             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
662               <<: *functest-jobs
663             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
664               <<: *functest-jobs
665             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
666               <<: *functest-jobs
667             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
668               <<: *functest-jobs
669             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
670               <<: *functest-jobs
671       - multijob:
672           name: dump all campaign data
673           projects:
674             - name: 'functest-{tag}-zip'
675               <<: *functest-jobs
676
677 - job-template:
678     name: 'functest-{repo}-{container}-{tag}-gate'
679     parameters:
680       - functest-slave:
681           slave: '{slave}'
682     scm:
683       - functest-scm:
684           ref: $GERRIT_REFSPEC
685     builders:
686       - functest-build-containers:
687           <<: *functest-build-containers
688           ref: $GERRIT_REFSPEC
689
690 - job-template:
691     name: 'functest-{repo}-{container}-{tag}-check'
692     parameters:
693       - functest-slave:
694           slave: '{slave}'
695       - functest-branch:
696           branch: '{branch}'
697     scm:
698       - functest-scm:
699           ref: $branch
700     builders:
701       - functest-build-containers:
702           <<: *functest-build-containers
703           ref: $branch
704
705 - project:
706     name: 'functest-_-alpine-3.12-rmi'
707     repo: _
708     port:
709     container: alpine
710     tag: '3.12'
711     slave: master
712     jobs:
713       - 'functest-{repo}-{container}-{tag}-rmi'
714
715 - project:
716     name: 'functest-_-alpine-3.12-pull'
717     repo: _
718     port:
719     container: alpine
720     tag: '3.12'
721     slave: master
722     jobs:
723       - 'functest-{repo}-{container}-{tag}-pull'
724
725 - project:
726     name: functest-opnfv-functest-core-{tag}-build
727     <<: *functest-params
728     container: functest-core
729     ref_arg: BRANCH
730     path: docker/core
731     jobs:
732       - 'functest-{repo}-{container}-{tag}-gate'
733       - 'functest-{repo}-{container}-{tag}-check'
734
735 - project:
736     name: functest-opnfv-functest-tempest-{tag}-build
737     <<: *functest-params
738     container: functest-tempest
739     ref_arg: BRANCH
740     path: docker/tempest
741     jobs:
742       - 'functest-{repo}-{container}-{tag}-gate'
743       - 'functest-{repo}-{container}-{tag}-check'
744     exclude:
745       - tag: latest
746       - tag: kali
747       - tag: jerma
748
749 - project:
750     name: functest-opnfv-functest-healthcheck-{tag}-build
751     <<: *functest-params
752     container: functest-healthcheck
753     ref_arg: BRANCH
754     path: docker/healthcheck
755     jobs:
756       - 'functest-{repo}-{container}-{tag}-gate'
757       - 'functest-{repo}-{container}-{tag}-check'
758
759 - project:
760     name: functest-opnfv-functest-smoke-{tag}-build
761     <<: *functest-params
762     container: functest-smoke
763     ref_arg: BRANCH
764     path: docker/smoke
765     jobs:
766       - 'functest-{repo}-{container}-{tag}-gate'
767       - 'functest-{repo}-{container}-{tag}-check'
768
769 - project:
770     name: functest-opnfv-functest-benchmarking-{tag}-build
771     <<: *functest-params
772     container: functest-benchmarking
773     ref_arg: BRANCH
774     path: docker/benchmarking
775     jobs:
776       - 'functest-{repo}-{container}-{tag}-gate'
777       - 'functest-{repo}-{container}-{tag}-check'
778
779 - project:
780     name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
781     <<: *functest-params
782     container: functest-benchmarking-cntt
783     ref_arg: BRANCH
784     path: docker/benchmarking-cntt
785     jobs:
786       - 'functest-{repo}-{container}-{tag}-gate'
787       - 'functest-{repo}-{container}-{tag}-check'
788
789 - project:
790     name: functest-opnfv-functest-vnf-{tag}-build
791     <<: *functest-params
792     container: functest-vnf
793     ref_arg:
794     path: docker/vnf
795     jobs:
796       - 'functest-{repo}-{container}-{tag}-gate'
797       - 'functest-{repo}-{container}-{tag}-check'
798
799 - project:
800     name: functest-opnfv-functest-smoke-cntt-{tag}-build
801     <<: *functest-params
802     container: functest-smoke-cntt
803     ref_arg: BRANCH
804     path: docker/smoke-cntt
805     jobs:
806       - 'functest-{repo}-{container}-{tag}-gate'
807       - 'functest-{repo}-{container}-{tag}-check'
808
809 - job-template:
810     name: 'functest-{tag}-check'
811     project-type: multijob
812     parameters:
813       - functest-slave:
814           slave: '{slave}'
815       - functest-build_tag:
816           build_tag: ''
817       - functest-branch:
818           branch: '{branch}'
819       - functest-DEBUG:
820           DEBUG: 'true'
821       - functest-EXTERNAL_NETWORK:
822           EXTERNAL_NETWORK: public
823     properties:
824       - build-blocker:
825           use-build-blocker: true
826           blocking-level: 'NODE'
827           blocking-jobs:
828             - '^functest-{tag}-(daily|check|gate)$'
829     builders:
830       - multijob:
831           name: remove former images
832           projects:
833             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
834               <<: *functest-jobs
835             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
836               <<: *functest-jobs
837             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
838               <<: *functest-jobs
839             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
840               <<: *functest-jobs
841             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
842               <<: *functest-jobs
843             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
844               <<: *functest-jobs
845       - multijob:
846           name: remove dependencies
847           projects:
848             - name: 'functest-_-alpine-3.12-rmi'
849               <<: *functest-jobs
850       - multijob:
851           name: pull dependencies
852           projects:
853             - name: 'functest-_-alpine-3.12-pull'
854               <<: *functest-jobs
855       - multijob:
856           name: build opnfv/functest-core
857           projects:
858             - name: 'functest-opnfv-functest-core-{tag}-check'
859               <<: *functest-jobs
860       - multijob:
861           name: build opnfv/functest-tempest
862           projects:
863             - name: 'functest-opnfv-functest-tempest-{tag}-check'
864               <<: *functest-jobs
865       - multijob:
866           name: build containers
867           projects:
868             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
869               <<: *functest-jobs
870             - name: 'functest-opnfv-functest-smoke-{tag}-check'
871               <<: *functest-jobs
872             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
873               <<: *functest-jobs
874             - name: 'functest-opnfv-functest-vnf-{tag}-check'
875               <<: *functest-jobs
876       - multijob:
877           name: build cntt containers
878           projects:
879             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
880               <<: *functest-jobs
881             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-check'
882               <<: *functest-jobs
883       - multijob:
884           name: opnfv/functest-healthcheck:{tag}
885           projects:
886             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
887               <<: *functest-jobs
888             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
889               <<: *functest-jobs
890             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
891               <<: *functest-jobs
892             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
893               <<: *functest-jobs
894             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
895               <<: *functest-jobs
896             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
897               <<: *functest-jobs
898             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
899               <<: *functest-jobs
900             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
901               <<: *functest-jobs
902             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
903               <<: *functest-jobs
904             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
905               <<: *functest-jobs
906             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
907               <<: *functest-jobs
908             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
909               <<: *functest-jobs
910             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
911               <<: *functest-jobs
912       - multijob:
913           name: opnfv/functest-smoke:{tag}
914           projects:
915             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
916               <<: *functest-jobs
917             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
918               <<: *functest-jobs
919             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
920               <<: *functest-jobs
921             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
922               <<: *functest-jobs
923             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
924               <<: *functest-jobs
925             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
926               <<: *functest-jobs
927             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
928               <<: *functest-jobs
929             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
930               <<: *functest-jobs
931             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
932               <<: *functest-jobs
933             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
934               <<: *functest-jobs
935             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
936               <<: *functest-jobs
937             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
938               <<: *functest-jobs
939             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
940               <<: *functest-jobs
941             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
942               <<: *functest-jobs
943             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
944               <<: *functest-jobs
945             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
946               <<: *functest-jobs
947             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
948               <<: *functest-jobs
949             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
950               <<: *functest-jobs
951             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
952               <<: *functest-jobs
953       - multijob:
954           name: opnfv/functest-smoke-cntt:{tag}
955           projects:
956             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
957               <<: *functest-jobs
958             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
959               <<: *functest-jobs
960             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
961               <<: *functest-jobs
962             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
963               <<: *functest-jobs
964             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
965               <<: *functest-jobs
966             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
967               <<: *functest-jobs
968             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
969               <<: *functest-jobs
970             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
971               <<: *functest-jobs
972       - multijob:
973           name: opnfv/functest-benchmarking:{tag}
974           projects:
975             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
976               <<: *functest-jobs
977             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
978               <<: *functest-jobs
979             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
980               <<: *functest-jobs
981             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
982               <<: *functest-jobs
983       - multijob:
984           name: opnfv/functest-benchmarking-cntt:{tag}
985           projects:
986             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
987               <<: *functest-jobs
988             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
989               <<: *functest-jobs
990       - multijob:
991           name: opnfv/functest-vnf:{tag}
992           projects:
993             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
994               <<: *functest-jobs
995             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
996               <<: *functest-jobs
997             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
998               <<: *functest-jobs
999             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1000               <<: *functest-jobs
1001             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1002               <<: *functest-jobs
1003
1004 - trigger:
1005     name: functest-patchset-created
1006     triggers:
1007       - gerrit:
1008           server-name: 'gerrit.opnfv.org'
1009           trigger-on:
1010             - patchset-created-event
1011             - comment-added-contains-event:
1012                 comment-contains-value: 'recheck'
1013             - comment-added-contains-event:
1014                 comment-contains-value: 'reverify'
1015           projects:
1016             - project-compare-type: 'ANT'
1017               project-pattern: 'functest'
1018               branches:
1019                 - branch-compare-type: 'ANT'
1020                   branch-pattern: '**/{branch}'
1021           skip-vote:
1022             successful: false
1023             failed: false
1024             unstable: false
1025             notbuilt: false
1026
1027 - job-template:
1028     name: 'functest-{tag}-gate'
1029     project-type: multijob
1030     triggers:
1031       - functest-patchset-created:
1032           branch: '{branch}'
1033     parameters:
1034       - functest-slave:
1035           slave: '{slave}'
1036       - functest-build_tag:
1037           build_tag: ''
1038       - functest-DEBUG:
1039           DEBUG: 'true'
1040       - functest-EXTERNAL_NETWORK:
1041           EXTERNAL_NETWORK: public
1042     properties:
1043       - build-blocker:
1044           use-build-blocker: true
1045           blocking-level: 'NODE'
1046           blocking-jobs:
1047             - '^functest-{tag}-(daily|check|gate)$'
1048     builders:
1049       - multijob:
1050           name: remove former images
1051           projects:
1052             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1053               <<: *functest-jobs
1054             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1055               <<: *functest-jobs
1056             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1057               <<: *functest-jobs
1058             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1059               <<: *functest-jobs
1060             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1061               <<: *functest-jobs
1062             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1063               <<: *functest-jobs
1064       - multijob:
1065           name: remove dependencies
1066           projects:
1067             - name: 'functest-_-alpine-3.12-rmi'
1068               <<: *functest-jobs
1069       - multijob:
1070           name: pull dependencies
1071           projects:
1072             - name: 'functest-_-alpine-3.12-pull'
1073               <<: *functest-jobs
1074       - multijob:
1075           name: build opnfv/functest-core
1076           projects:
1077             - name: 'functest-opnfv-functest-core-{tag}-gate'
1078               <<: *functest-jobs
1079       - multijob:
1080           name: build opnfv/functest-tempest
1081           projects:
1082             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1083               <<: *functest-jobs
1084       - multijob:
1085           name: build containers
1086           projects:
1087             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1088               <<: *functest-jobs
1089             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1090               <<: *functest-jobs
1091             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1092               <<: *functest-jobs
1093             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1094               <<: *functest-jobs
1095       - multijob:
1096           name: build cntt containers
1097           projects:
1098             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1099               <<: *functest-jobs
1100             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1101               <<: *functest-jobs
1102       - multijob:
1103           name: opnfv/functest-healthcheck:{tag}
1104           projects:
1105             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1106               <<: *functest-jobs
1107             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1108               <<: *functest-jobs
1109             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1110               <<: *functest-jobs
1111             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1112               <<: *functest-jobs
1113             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1114               <<: *functest-jobs
1115             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1116               <<: *functest-jobs
1117             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1118               <<: *functest-jobs
1119             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1120               <<: *functest-jobs
1121             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1122               <<: *functest-jobs
1123             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1124               <<: *functest-jobs
1125             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1126               <<: *functest-jobs
1127             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1128               <<: *functest-jobs
1129             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1130               <<: *functest-jobs
1131       - multijob:
1132           name: opnfv/functest-smoke:{tag}
1133           projects:
1134             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1135               <<: *functest-jobs
1136             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1137               <<: *functest-jobs
1138             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1139               <<: *functest-jobs
1140             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1141               <<: *functest-jobs
1142             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1143               <<: *functest-jobs
1144             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1145               <<: *functest-jobs
1146             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1147               <<: *functest-jobs
1148             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1149               <<: *functest-jobs
1150             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1151               <<: *functest-jobs
1152             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1153               <<: *functest-jobs
1154             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1155               <<: *functest-jobs
1156             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1157               <<: *functest-jobs
1158             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1159               <<: *functest-jobs
1160             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1161               <<: *functest-jobs
1162             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
1163               <<: *functest-jobs
1164             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1165               <<: *functest-jobs
1166             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1167               <<: *functest-jobs
1168             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1169               <<: *functest-jobs
1170             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1171               <<: *functest-jobs
1172       - multijob:
1173           name: opnfv/functest-smoke-cntt:{tag}
1174           projects:
1175             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1176               <<: *functest-jobs
1177             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1178               <<: *functest-jobs
1179             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1180               <<: *functest-jobs
1181             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1182               <<: *functest-jobs
1183             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1184               <<: *functest-jobs
1185             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1186               <<: *functest-jobs
1187             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1188               <<: *functest-jobs
1189             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1190               <<: *functest-jobs
1191       - multijob:
1192           name: opnfv/functest-benchmarking:{tag}
1193           projects:
1194             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1195               <<: *functest-jobs
1196             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1197               <<: *functest-jobs
1198             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1199               <<: *functest-jobs
1200             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1201               <<: *functest-jobs
1202       - multijob:
1203           name: opnfv/functest-benchmarking-cntt:{tag}
1204           projects:
1205             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1206               <<: *functest-jobs
1207             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1208               <<: *functest-jobs
1209       - multijob:
1210           name: opnfv/functest-vnf:{tag}
1211           projects:
1212             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1213               <<: *functest-jobs
1214             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1215               <<: *functest-jobs
1216             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1217               <<: *functest-jobs
1218             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1219               <<: *functest-jobs
1220             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1221               <<: *functest-jobs
1222
1223 - project:
1224     name: 'functest'
1225     <<: *functest-params
1226     jobs:
1227       - 'functest-{tag}-daily'
1228       - 'functest-{tag}-check'
1229       - 'functest-{tag}-gate'
1230
1231 - view:
1232     name: functest
1233     view-type: list
1234     columns:
1235       - status
1236       - weather
1237       - job
1238       - last-success
1239       - last-failure
1240       - last-duration
1241     regex: ^functest(-ovn)?-[a-z]+-daily$
1242
1243 - view:
1244     name: functest-gate
1245     view-type: list
1246     columns:
1247       - status
1248       - weather
1249       - job
1250       - last-success
1251       - last-failure
1252       - last-duration
1253     regex: ^functest(-ovn)?-[a-z]+-gate$