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