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