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