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