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