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