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