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