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