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