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