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