Isolate rally_full from functional tests
[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     jobs:
306       - 'functest-{repo}-{container}-{tag}-{test}-run'
307
308 - project:
309     name: 'functest-opnfv-functest-components-2'
310     <<: *functest-params
311     container: 'functest-components'
312     test:
313       - rally_full
314     jobs:
315       - 'functest-{repo}-{container}-{tag}-{test}-run'
316
317 - project:
318     name: 'functest-opnfv-functest-vnf'
319     <<: *functest-params
320     container: 'functest-vnf'
321     test:
322       - cloudify
323       - cloudify_ims
324       - heat_ims
325       - vyos_vrouter
326       - juju_epc
327     jobs:
328       - 'functest-{repo}-{container}-{tag}-{test}-run'
329
330 - project:
331     name: 'functest-opnfv-functest-features'
332     <<: *functest-params
333     container: 'functest-features'
334     test:
335       - doctor-notification
336       - bgpvpn
337       - functest-odl-sfc
338       - barometercollectd
339       - vgpu
340       - stor4nfv_os
341     jobs:
342       - 'functest-{repo}-{container}-{tag}-{test}-run'
343
344 - job-template:
345     name: 'functest-{tag}-daily'
346     project-type: multijob
347     triggers:
348       - timed: '@daily'
349     parameters:
350       - functest-slave
351     properties:
352       - build-blocker:
353           use-build-blocker: true
354           blocking-level: 'NODE'
355           blocking-jobs:
356             - '^functest-[a-z]+-(daily|check|gate)$'
357     builders:
358       - multijob:
359           name: remove former images
360           projects:
361             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
362               <<: *functest-jobs
363             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
364               <<: *functest-jobs
365             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
366               <<: *functest-jobs
367             - name: 'functest-opnfv-functest-components-{tag}-rmi'
368               <<: *functest-jobs
369             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
370               <<: *functest-jobs
371             - name: 'functest-opnfv-functest-features-{tag}-rmi'
372               <<: *functest-jobs
373       - multijob:
374           name: pull containers
375           projects:
376             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
377               <<: *functest-jobs
378             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
379               <<: *functest-jobs
380             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
381               <<: *functest-jobs
382             - name: 'functest-opnfv-functest-components-{tag}-pull'
383               <<: *functest-jobs
384             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
385               <<: *functest-jobs
386             - name: 'functest-opnfv-functest-features-{tag}-pull'
387               <<: *functest-jobs
388       - multijob:
389           name: opnfv/functest-healthcheck:{tag}
390           projects:
391             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
392               <<: *functest-jobs
393             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
394               <<: *functest-jobs
395             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
396               <<: *functest-jobs
397             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
398               <<: *functest-jobs
399             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
400               <<: *functest-jobs
401             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
402               <<: *functest-jobs
403             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
404               <<: *functest-jobs
405             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
406               <<: *functest-jobs
407             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
408               <<: *functest-jobs
409             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
410               <<: *functest-jobs
411             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
412               <<: *functest-jobs
413             - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
414               <<: *functest-jobs
415             - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
416               <<: *functest-jobs
417       - multijob:
418           name: opnfv/functest-smoke:{tag}
419           projects:
420             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
421               <<: *functest-jobs
422             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
423               <<: *functest-jobs
424             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
425               <<: *functest-jobs
426             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
427               <<: *functest-jobs
428             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
429               <<: *functest-jobs
430             - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
431               <<: *functest-jobs
432             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
433               <<: *functest-jobs
434             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
435               <<: *functest-jobs
436             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
437               <<: *functest-jobs
438             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
439               <<: *functest-jobs
440       - multijob:
441           name: opnfv/functest-smoke:{tag}
442           projects:
443             - name: 'functest-opnfv-functest-smoke-{tag}-rally_jobs-run'
444               <<: *functest-jobs
445       - multijob:
446           name: opnfv/functest-benchmarking:{tag}
447           projects:
448             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
449               <<: *functest-jobs
450             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
451               <<: *functest-jobs
452       - multijob:
453           name: opnfv/functest-components:{tag}
454           projects:
455             - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
456               <<: *functest-jobs
457             - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-run'
458               <<: *functest-jobs
459       - multijob:
460           name: opnfv/functest-components:{tag}
461           projects:
462             - name: 'functest-opnfv-functest-components-{tag}-rally_full-run'
463               <<: *functest-jobs
464       - multijob:
465           name: opnfv/functest-vnf:{tag}
466           projects:
467             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
468               <<: *functest-jobs
469             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
470               <<: *functest-jobs
471             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
472               <<: *functest-jobs
473             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
474               <<: *functest-jobs
475             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
476               <<: *functest-jobs
477       - multijob:
478           name: opnfv/functest-features:{tag}
479           projects:
480             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
481               <<: *functest-jobs
482             - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
483               <<: *functest-jobs
484             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
485               <<: *functest-jobs
486             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
487               <<: *functest-jobs
488             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
489               <<: *functest-jobs
490             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
491               <<: *functest-jobs
492
493 - job-template:
494     name: 'functest-{repo}-{container}-{tag}-gate'
495     parameters:
496       - functest-slave
497     scm:
498       - functest-scm:
499           ref: $GERRIT_REFSPEC
500     builders:
501       - functest-build-containers:
502           <<: *functest-build-containers
503           ref: $GERRIT_REFSPEC
504
505 - job-template:
506     name: 'functest-{repo}-{container}-{tag}-check'
507     parameters:
508       - functest-slave
509       - functest-branch:
510           branch: '{branch}'
511     scm:
512       - functest-scm:
513           ref: $branch
514     builders:
515       - functest-build-containers:
516           <<: *functest-build-containers
517           ref: $branch
518
519 - project:
520     name: 'functest-_-alpine-3.8-rmi'
521     repo: _
522     port:
523     container: alpine
524     tag: 3.8
525     jobs:
526       - 'functest-{repo}-{container}-{tag}-rmi'
527
528 - project:
529     name: 'functest-_-alpine-3.8-pull'
530     repo: _
531     port:
532     container: alpine
533     tag: 3.8
534     jobs:
535       - 'functest-{repo}-{container}-{tag}-pull'
536
537 - project:
538     name: functest-opnfv-functest-core-{tag}-build
539     <<: *functest-params
540     container: functest-core
541     ref_arg: BRANCH
542     path: docker/core
543     jobs:
544       - 'functest-{repo}-{container}-{tag}-gate'
545       - 'functest-{repo}-{container}-{tag}-check'
546
547 - project:
548     name: functest-opnfv-functest-tempest-{tag}-build
549     <<: *functest-params
550     container: functest-tempest
551     ref_arg: BRANCH
552     path: docker/tempest
553     jobs:
554       - 'functest-{repo}-{container}-{tag}-gate'
555       - 'functest-{repo}-{container}-{tag}-check'
556
557 - project:
558     name: functest-opnfv-functest-healthcheck-{tag}-build
559     <<: *functest-params
560     container: functest-healthcheck
561     ref_arg: BRANCH
562     path: docker/healthcheck
563     jobs:
564       - 'functest-{repo}-{container}-{tag}-gate'
565       - 'functest-{repo}-{container}-{tag}-check'
566
567 - project:
568     name: functest-opnfv-functest-smoke-{tag}-build
569     <<: *functest-params
570     container: functest-smoke
571     ref_arg: BRANCH
572     path: docker/smoke
573     jobs:
574       - 'functest-{repo}-{container}-{tag}-gate'
575       - 'functest-{repo}-{container}-{tag}-check'
576
577 - project:
578     name: functest-opnfv-functest-benchmarking-{tag}-build
579     <<: *functest-params
580     container: functest-benchmarking
581     ref_arg: BRANCH
582     path: docker/benchmarking
583     jobs:
584       - 'functest-{repo}-{container}-{tag}-gate'
585       - 'functest-{repo}-{container}-{tag}-check'
586
587 - project:
588     name: functest-opnfv-functest-components-{tag}-build
589     <<: *functest-params
590     container: functest-components
591     ref_arg:
592     path: docker/components
593     jobs:
594       - 'functest-{repo}-{container}-{tag}-gate'
595       - 'functest-{repo}-{container}-{tag}-check'
596
597 - project:
598     name: functest-opnfv-functest-vnf-{tag}-build
599     <<: *functest-params
600     container: functest-vnf
601     ref_arg:
602     path: docker/vnf
603     jobs:
604       - 'functest-{repo}-{container}-{tag}-gate'
605       - 'functest-{repo}-{container}-{tag}-check'
606
607 - project:
608     name: functest-opnfv-functest-features-{tag}-build
609     <<: *functest-params
610     container: functest-features
611     ref_arg: BRANCH
612     path: docker/features
613     jobs:
614       - 'functest-{repo}-{container}-{tag}-gate'
615       - 'functest-{repo}-{container}-{tag}-check'
616
617 - job-template:
618     name: 'functest-{tag}-check'
619     project-type: multijob
620     parameters:
621       - functest-slave
622       - functest-branch:
623           branch: '{branch}'
624     properties:
625       - build-blocker:
626           use-build-blocker: true
627           blocking-level: 'NODE'
628           blocking-jobs:
629             - '^functest-[a-z]+-(daily|check|gate)$'
630     builders:
631       - multijob:
632           name: remove former images
633           projects:
634             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
635               <<: *functest-jobs
636             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
637               <<: *functest-jobs
638             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
639               <<: *functest-jobs
640             - name: 'functest-opnfv-functest-components-{tag}-rmi'
641               <<: *functest-jobs
642             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
643               <<: *functest-jobs
644             - name: 'functest-opnfv-functest-features-{tag}-rmi'
645               <<: *functest-jobs
646       - multijob:
647           name: remove dependencies
648           projects:
649             - name: 'functest-_-alpine-3.8-rmi'
650               <<: *functest-jobs
651       - multijob:
652           name: pull dependencies
653           projects:
654             - name: 'functest-_-alpine-3.8-pull'
655               <<: *functest-jobs
656       - multijob:
657           name: build opnfv/functest-core
658           projects:
659             - name: 'functest-opnfv-functest-core-{tag}-check'
660               <<: *functest-jobs
661       - multijob:
662           name: build opnfv/functest-tempest
663           projects:
664             - name: 'functest-opnfv-functest-tempest-{tag}-check'
665               <<: *functest-jobs
666       - multijob:
667           name: build containers
668           projects:
669             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
670               <<: *functest-jobs
671             - name: 'functest-opnfv-functest-smoke-{tag}-check'
672               <<: *functest-jobs
673             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
674               <<: *functest-jobs
675             - name: 'functest-opnfv-functest-components-{tag}-check'
676               <<: *functest-jobs
677             - name: 'functest-opnfv-functest-vnf-{tag}-check'
678               <<: *functest-jobs
679             - name: 'functest-opnfv-functest-features-{tag}-check'
680               <<: *functest-jobs
681       - multijob:
682           name: opnfv/functest-healthcheck:{tag}
683           projects:
684             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
685               <<: *functest-jobs
686             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
687               <<: *functest-jobs
688             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
689               <<: *functest-jobs
690             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
691               <<: *functest-jobs
692             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
693               <<: *functest-jobs
694             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
695               <<: *functest-jobs
696             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
697               <<: *functest-jobs
698             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
699               <<: *functest-jobs
700             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
701               <<: *functest-jobs
702             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
703               <<: *functest-jobs
704             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
705               <<: *functest-jobs
706             - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
707               <<: *functest-jobs
708             - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
709               <<: *functest-jobs
710       - multijob:
711           name: opnfv/functest-smoke:{tag}
712           projects:
713             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
714               <<: *functest-jobs
715             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
716               <<: *functest-jobs
717             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
718               <<: *functest-jobs
719             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
720               <<: *functest-jobs
721             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
722               <<: *functest-jobs
723             - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
724               <<: *functest-jobs
725             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
726               <<: *functest-jobs
727             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
728               <<: *functest-jobs
729             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
730               <<: *functest-jobs
731             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
732               <<: *functest-jobs
733       - multijob:
734           name: opnfv/functest-smoke:{tag}
735           projects:
736             - name: 'functest-opnfv-functest-smoke-{tag}-rally_jobs-run'
737               <<: *functest-jobs
738       - multijob:
739           name: opnfv/functest-benchmarking:{tag}
740           projects:
741             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
742               <<: *functest-jobs
743             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
744               <<: *functest-jobs
745       - multijob:
746           name: opnfv/functest-components:{tag}
747           projects:
748             - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
749               <<: *functest-jobs
750             - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-run'
751               <<: *functest-jobs
752       - multijob:
753           name: opnfv/functest-components:{tag}
754           projects:
755             - name: 'functest-opnfv-functest-components-{tag}-rally_full-run'
756               <<: *functest-jobs
757       - multijob:
758           name: opnfv/functest-vnf:{tag}
759           projects:
760             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
761               <<: *functest-jobs
762             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
763               <<: *functest-jobs
764             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
765               <<: *functest-jobs
766             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
767               <<: *functest-jobs
768             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
769               <<: *functest-jobs
770       - multijob:
771           name: opnfv/functest-features:{tag}
772           projects:
773             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
774               <<: *functest-jobs
775             - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
776               <<: *functest-jobs
777             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
778               <<: *functest-jobs
779             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
780               <<: *functest-jobs
781             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
782               <<: *functest-jobs
783             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
784               <<: *functest-jobs
785
786 - trigger:
787     name: functest-patchset-created
788     triggers:
789       - gerrit:
790           server-name: 'gerrit.opnfv.org'
791           trigger-on:
792             - patchset-created-event
793             - comment-added-contains-event:
794                 comment-contains-value: 'recheck'
795             - comment-added-contains-event:
796                 comment-contains-value: 'reverify'
797           projects:
798             - project-compare-type: 'ANT'
799               project-pattern: 'functest'
800               branches:
801                 - branch-compare-type: 'ANT'
802                   branch-pattern: '**/{branch}'
803           skip-vote:
804             successful: false
805             failed: false
806             unstable: false
807             notbuilt: false
808
809 - job-template:
810     name: 'functest-{tag}-gate'
811     project-type: multijob
812     triggers:
813       - functest-patchset-created:
814           branch: '{branch}'
815     parameters:
816       - functest-slave
817     properties:
818       - build-blocker:
819           use-build-blocker: true
820           blocking-level: 'NODE'
821           blocking-jobs:
822             - '^functest-[a-z]+-(daily|check|gate)$'
823     builders:
824       - multijob:
825           name: remove former images
826           projects:
827             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
828               <<: *functest-jobs
829             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
830               <<: *functest-jobs
831             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
832               <<: *functest-jobs
833             - name: 'functest-opnfv-functest-components-{tag}-rmi'
834               <<: *functest-jobs
835             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
836               <<: *functest-jobs
837             - name: 'functest-opnfv-functest-features-{tag}-rmi'
838               <<: *functest-jobs
839       - multijob:
840           name: remove dependencies
841           projects:
842             - name: 'functest-_-alpine-3.8-rmi'
843               <<: *functest-jobs
844       - multijob:
845           name: pull dependencies
846           projects:
847             - name: 'functest-_-alpine-3.8-pull'
848               <<: *functest-jobs
849       - multijob:
850           name: build opnfv/functest-core
851           projects:
852             - name: 'functest-opnfv-functest-core-{tag}-gate'
853               <<: *functest-jobs
854       - multijob:
855           name: build opnfv/functest-tempest
856           projects:
857             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
858               <<: *functest-jobs
859       - multijob:
860           name: build containers
861           projects:
862             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
863               <<: *functest-jobs
864             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
865               <<: *functest-jobs
866             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
867               <<: *functest-jobs
868             - name: 'functest-opnfv-functest-components-{tag}-gate'
869               <<: *functest-jobs
870             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
871               <<: *functest-jobs
872             - name: 'functest-opnfv-functest-features-{tag}-gate'
873               <<: *functest-jobs
874       - multijob:
875           name: opnfv/functest-healthcheck:{tag}
876           projects:
877             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
878               <<: *functest-jobs
879             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
880               <<: *functest-jobs
881             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
882               <<: *functest-jobs
883             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
884               <<: *functest-jobs
885             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
886               <<: *functest-jobs
887             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
888               <<: *functest-jobs
889             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
890               <<: *functest-jobs
891             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
892               <<: *functest-jobs
893             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
894               <<: *functest-jobs
895             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
896               <<: *functest-jobs
897             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
898               <<: *functest-jobs
899             - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
900               <<: *functest-jobs
901             - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
902               <<: *functest-jobs
903       - multijob:
904           name: opnfv/functest-smoke:{tag}
905           projects:
906             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
907               <<: *functest-jobs
908             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
909               <<: *functest-jobs
910             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
911               <<: *functest-jobs
912             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
913               <<: *functest-jobs
914             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
915               <<: *functest-jobs
916             - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
917               <<: *functest-jobs
918             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
919               <<: *functest-jobs
920             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
921               <<: *functest-jobs
922             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
923               <<: *functest-jobs
924             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
925               <<: *functest-jobs
926       - multijob:
927           name: opnfv/functest-smoke:{tag}
928           projects:
929             - name: 'functest-opnfv-functest-smoke-{tag}-rally_jobs-run'
930               <<: *functest-jobs
931       - multijob:
932           name: opnfv/functest-benchmarking:{tag}
933           projects:
934             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
935               <<: *functest-jobs
936             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
937               <<: *functest-jobs
938       - multijob:
939           name: opnfv/functest-components:{tag}
940           projects:
941             - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
942               <<: *functest-jobs
943             - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-run'
944               <<: *functest-jobs
945       - multijob:
946           name: opnfv/functest-components:{tag}
947           projects:
948             - name: 'functest-opnfv-functest-components-{tag}-rally_full-run'
949               <<: *functest-jobs
950       - multijob:
951           name: opnfv/functest-vnf:{tag}
952           projects:
953             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
954               <<: *functest-jobs
955             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
956               <<: *functest-jobs
957             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
958               <<: *functest-jobs
959             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
960               <<: *functest-jobs
961             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
962               <<: *functest-jobs
963       - multijob:
964           name: opnfv/functest-features:{tag}
965           projects:
966             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
967               <<: *functest-jobs
968             - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
969               <<: *functest-jobs
970             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
971               <<: *functest-jobs
972             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
973               <<: *functest-jobs
974             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
975               <<: *functest-jobs
976             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
977               <<: *functest-jobs
978
979 - project:
980     name: 'functest'
981     <<: *functest-params
982     jobs:
983       - 'functest-{tag}-daily'
984       - 'functest-{tag}-check'
985       - 'functest-{tag}-gate'
986
987 - view:
988     name: functest
989     view-type: list
990     columns:
991       - status
992       - weather
993       - job
994       - last-success
995       - last-failure
996       - last-duration
997     regex: ^functest-[a-z]+-(daily|check|gate)$