Remove the sdnvpn testcase in Functest gates
[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       - api_check
245       - snaps_health_check
246       - tempest_smoke
247     jobs:
248       - 'functest-{repo}-{container}-{tag}-{test}-run'
249
250 - project:
251     name: 'functest-opnfv-functest-smoke'
252     <<: *functest-params
253     container: 'functest-smoke'
254     test:
255       - neutron-tempest-plugin-api
256       - rally_sanity
257       - refstack_defcore
258       - tempest_full
259       - tempest_scenario
260       - patrole
261       - snaps_smoke
262       - neutron_trunk
263       - networking-bgpvpn
264       - networking-sfc
265       - barbican
266     jobs:
267       - 'functest-{repo}-{container}-{tag}-{test}-run'
268
269 - project:
270     name: 'functest-opnfv-functest-benchmarking'
271     <<: *functest-params
272     container: 'functest-benchmarking'
273     test:
274       - rally_full
275       - rally_jobs
276       - vmtp
277       - shaker
278     jobs:
279       - 'functest-{repo}-{container}-{tag}-{test}-run'
280
281 - project:
282     name: 'functest-opnfv-functest-vnf'
283     <<: *functest-params
284     container: 'functest-vnf'
285     test:
286       - cloudify
287       - cloudify_ims
288       - heat_ims
289       - vyos_vrouter
290       - juju_epc
291     jobs:
292       - 'functest-{repo}-{container}-{tag}-{test}-run'
293
294 - project:
295     name: 'functest-opnfv-functest-features'
296     <<: *functest-params
297     container: 'functest-features'
298     test:
299       - doctor-notification
300       - functest-odl-sfc
301       - barometercollectd
302       - vgpu
303       - stor4nfv_os
304     jobs:
305       - 'functest-{repo}-{container}-{tag}-{test}-run'
306
307 - job-template:
308     name: 'functest-{tag}-daily'
309     project-type: multijob
310     triggers:
311       - timed: '@daily'
312     parameters:
313       - functest-slave
314     properties:
315       - build-blocker:
316           use-build-blocker: true
317           blocking-level: 'NODE'
318           blocking-jobs:
319             - '^functest-[a-z]+-(daily|check|gate)$'
320     builders:
321       - multijob:
322           name: remove former images
323           projects:
324             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
325               <<: *functest-jobs
326             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
327               <<: *functest-jobs
328             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
329               <<: *functest-jobs
330             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
331               <<: *functest-jobs
332             - name: 'functest-opnfv-functest-features-{tag}-rmi'
333               <<: *functest-jobs
334       - multijob:
335           name: pull containers
336           projects:
337             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
338               <<: *functest-jobs
339             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
340               <<: *functest-jobs
341             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
342               <<: *functest-jobs
343             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
344               <<: *functest-jobs
345             - name: 'functest-opnfv-functest-features-{tag}-pull'
346               <<: *functest-jobs
347       - multijob:
348           name: opnfv/functest-healthcheck:{tag}
349           projects:
350             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
351               <<: *functest-jobs
352             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
353               <<: *functest-jobs
354             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
355               <<: *functest-jobs
356             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
357               <<: *functest-jobs
358             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
359               <<: *functest-jobs
360             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
361               <<: *functest-jobs
362             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
363               <<: *functest-jobs
364             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
365               <<: *functest-jobs
366             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
367               <<: *functest-jobs
368             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
369               <<: *functest-jobs
370             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
371               <<: *functest-jobs
372             - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
373               <<: *functest-jobs
374             - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
375               <<: *functest-jobs
376             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
377               <<: *functest-jobs
378       - multijob:
379           name: opnfv/functest-smoke:{tag}
380           projects:
381             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
382               <<: *functest-jobs
383             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
384               <<: *functest-jobs
385             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
386               <<: *functest-jobs
387             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
388               <<: *functest-jobs
389             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
390               <<: *functest-jobs
391             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
392               <<: *functest-jobs
393             - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
394               <<: *functest-jobs
395             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
396               <<: *functest-jobs
397             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
398               <<: *functest-jobs
399             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
400               <<: *functest-jobs
401             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
402               <<: *functest-jobs
403       - multijob:
404           name: opnfv/functest-benchmarking:{tag}
405           projects:
406             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
407               <<: *functest-jobs
408             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
409               <<: *functest-jobs
410             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
411               <<: *functest-jobs
412             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
413               <<: *functest-jobs
414       - multijob:
415           name: opnfv/functest-vnf:{tag}
416           execution-type: SEQUENTIALLY
417           projects:
418             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
419               <<: *functest-jobs
420             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
421               <<: *functest-jobs
422             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
423               <<: *functest-jobs
424             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
425               <<: *functest-jobs
426             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
427               <<: *functest-jobs
428       - multijob:
429           name: opnfv/functest-features:{tag}
430           projects:
431             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
432               <<: *functest-jobs
433             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
434               <<: *functest-jobs
435             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
436               <<: *functest-jobs
437             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
438               <<: *functest-jobs
439             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
440               <<: *functest-jobs
441
442 - job-template:
443     name: 'functest-{repo}-{container}-{tag}-gate'
444     parameters:
445       - functest-slave
446     scm:
447       - functest-scm:
448           ref: $GERRIT_REFSPEC
449     builders:
450       - functest-build-containers:
451           <<: *functest-build-containers
452           ref: $GERRIT_REFSPEC
453
454 - job-template:
455     name: 'functest-{repo}-{container}-{tag}-check'
456     parameters:
457       - functest-slave
458       - functest-branch:
459           branch: '{branch}'
460     scm:
461       - functest-scm:
462           ref: $branch
463     builders:
464       - functest-build-containers:
465           <<: *functest-build-containers
466           ref: $branch
467
468 - project:
469     name: 'functest-_-alpine-3.8-rmi'
470     repo: _
471     port:
472     container: alpine
473     tag: 3.8
474     jobs:
475       - 'functest-{repo}-{container}-{tag}-rmi'
476
477 - project:
478     name: 'functest-_-alpine-3.8-pull'
479     repo: _
480     port:
481     container: alpine
482     tag: 3.8
483     jobs:
484       - 'functest-{repo}-{container}-{tag}-pull'
485
486 - project:
487     name: functest-opnfv-functest-core-{tag}-build
488     <<: *functest-params
489     container: functest-core
490     ref_arg: BRANCH
491     path: docker/core
492     jobs:
493       - 'functest-{repo}-{container}-{tag}-gate'
494       - 'functest-{repo}-{container}-{tag}-check'
495
496 - project:
497     name: functest-opnfv-functest-tempest-{tag}-build
498     <<: *functest-params
499     container: functest-tempest
500     ref_arg: BRANCH
501     path: docker/tempest
502     jobs:
503       - 'functest-{repo}-{container}-{tag}-gate'
504       - 'functest-{repo}-{container}-{tag}-check'
505
506 - project:
507     name: functest-opnfv-functest-healthcheck-{tag}-build
508     <<: *functest-params
509     container: functest-healthcheck
510     ref_arg: BRANCH
511     path: docker/healthcheck
512     jobs:
513       - 'functest-{repo}-{container}-{tag}-gate'
514       - 'functest-{repo}-{container}-{tag}-check'
515
516 - project:
517     name: functest-opnfv-functest-smoke-{tag}-build
518     <<: *functest-params
519     container: functest-smoke
520     ref_arg: BRANCH
521     path: docker/smoke
522     jobs:
523       - 'functest-{repo}-{container}-{tag}-gate'
524       - 'functest-{repo}-{container}-{tag}-check'
525
526 - project:
527     name: functest-opnfv-functest-benchmarking-{tag}-build
528     <<: *functest-params
529     container: functest-benchmarking
530     ref_arg: BRANCH
531     path: docker/benchmarking
532     jobs:
533       - 'functest-{repo}-{container}-{tag}-gate'
534       - 'functest-{repo}-{container}-{tag}-check'
535
536 - project:
537     name: functest-opnfv-functest-vnf-{tag}-build
538     <<: *functest-params
539     container: functest-vnf
540     ref_arg:
541     path: docker/vnf
542     jobs:
543       - 'functest-{repo}-{container}-{tag}-gate'
544       - 'functest-{repo}-{container}-{tag}-check'
545
546 - project:
547     name: functest-opnfv-functest-features-{tag}-build
548     <<: *functest-params
549     container: functest-features
550     ref_arg: BRANCH
551     path: docker/features
552     jobs:
553       - 'functest-{repo}-{container}-{tag}-gate'
554       - 'functest-{repo}-{container}-{tag}-check'
555
556 - job-template:
557     name: 'functest-{tag}-check'
558     project-type: multijob
559     parameters:
560       - functest-slave
561       - functest-branch:
562           branch: '{branch}'
563     properties:
564       - build-blocker:
565           use-build-blocker: true
566           blocking-level: 'NODE'
567           blocking-jobs:
568             - '^functest-[a-z]+-(daily|check|gate)$'
569     builders:
570       - multijob:
571           name: remove former images
572           projects:
573             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
574               <<: *functest-jobs
575             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
576               <<: *functest-jobs
577             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
578               <<: *functest-jobs
579             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
580               <<: *functest-jobs
581             - name: 'functest-opnfv-functest-features-{tag}-rmi'
582               <<: *functest-jobs
583       - multijob:
584           name: remove dependencies
585           projects:
586             - name: 'functest-_-alpine-3.8-rmi'
587               <<: *functest-jobs
588       - multijob:
589           name: pull dependencies
590           projects:
591             - name: 'functest-_-alpine-3.8-pull'
592               <<: *functest-jobs
593       - multijob:
594           name: build opnfv/functest-core
595           projects:
596             - name: 'functest-opnfv-functest-core-{tag}-check'
597               <<: *functest-jobs
598       - multijob:
599           name: build opnfv/functest-tempest
600           projects:
601             - name: 'functest-opnfv-functest-tempest-{tag}-check'
602               <<: *functest-jobs
603       - multijob:
604           name: build containers
605           projects:
606             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
607               <<: *functest-jobs
608             - name: 'functest-opnfv-functest-smoke-{tag}-check'
609               <<: *functest-jobs
610             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
611               <<: *functest-jobs
612             - name: 'functest-opnfv-functest-vnf-{tag}-check'
613               <<: *functest-jobs
614             - name: 'functest-opnfv-functest-features-{tag}-check'
615               <<: *functest-jobs
616       - multijob:
617           name: opnfv/functest-healthcheck:{tag}
618           projects:
619             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
620               <<: *functest-jobs
621             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
622               <<: *functest-jobs
623             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
624               <<: *functest-jobs
625             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
626               <<: *functest-jobs
627             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
628               <<: *functest-jobs
629             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
630               <<: *functest-jobs
631             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
632               <<: *functest-jobs
633             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
634               <<: *functest-jobs
635             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
636               <<: *functest-jobs
637             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
638               <<: *functest-jobs
639             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
640               <<: *functest-jobs
641             - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
642               <<: *functest-jobs
643             - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
644               <<: *functest-jobs
645             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
646               <<: *functest-jobs
647       - multijob:
648           name: opnfv/functest-smoke:{tag}
649           projects:
650             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
651               <<: *functest-jobs
652             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
653               <<: *functest-jobs
654             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
655               <<: *functest-jobs
656             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
657               <<: *functest-jobs
658             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
659               <<: *functest-jobs
660             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
661               <<: *functest-jobs
662             - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
663               <<: *functest-jobs
664             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
665               <<: *functest-jobs
666             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
667               <<: *functest-jobs
668             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
669               <<: *functest-jobs
670             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
671               <<: *functest-jobs
672       - multijob:
673           name: opnfv/functest-benchmarking:{tag}
674           projects:
675             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
676               <<: *functest-jobs
677             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
678               <<: *functest-jobs
679             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
680               <<: *functest-jobs
681             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
682               <<: *functest-jobs
683       - multijob:
684           name: opnfv/functest-vnf:{tag}
685           execution-type: SEQUENTIALLY
686           projects:
687             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
688               <<: *functest-jobs
689             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
690               <<: *functest-jobs
691             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
692               <<: *functest-jobs
693             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
694               <<: *functest-jobs
695             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
696               <<: *functest-jobs
697       - multijob:
698           name: opnfv/functest-features:{tag}
699           projects:
700             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
701               <<: *functest-jobs
702             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
703               <<: *functest-jobs
704             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
705               <<: *functest-jobs
706             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
707               <<: *functest-jobs
708             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
709               <<: *functest-jobs
710
711 - trigger:
712     name: functest-patchset-created
713     triggers:
714       - gerrit:
715           server-name: 'gerrit.opnfv.org'
716           trigger-on:
717             - patchset-created-event
718             - comment-added-contains-event:
719                 comment-contains-value: 'recheck'
720             - comment-added-contains-event:
721                 comment-contains-value: 'reverify'
722           projects:
723             - project-compare-type: 'ANT'
724               project-pattern: 'functest'
725               branches:
726                 - branch-compare-type: 'ANT'
727                   branch-pattern: '**/{branch}'
728           skip-vote:
729             successful: false
730             failed: false
731             unstable: false
732             notbuilt: false
733
734 - job-template:
735     name: 'functest-{tag}-gate'
736     project-type: multijob
737     triggers:
738       - functest-patchset-created:
739           branch: '{branch}'
740     parameters:
741       - functest-slave
742     properties:
743       - build-blocker:
744           use-build-blocker: true
745           blocking-level: 'NODE'
746           blocking-jobs:
747             - '^functest-[a-z]+-(daily|check|gate)$'
748     builders:
749       - multijob:
750           name: remove former images
751           projects:
752             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
753               <<: *functest-jobs
754             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
755               <<: *functest-jobs
756             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
757               <<: *functest-jobs
758             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
759               <<: *functest-jobs
760             - name: 'functest-opnfv-functest-features-{tag}-rmi'
761               <<: *functest-jobs
762       - multijob:
763           name: remove dependencies
764           projects:
765             - name: 'functest-_-alpine-3.8-rmi'
766               <<: *functest-jobs
767       - multijob:
768           name: pull dependencies
769           projects:
770             - name: 'functest-_-alpine-3.8-pull'
771               <<: *functest-jobs
772       - multijob:
773           name: build opnfv/functest-core
774           projects:
775             - name: 'functest-opnfv-functest-core-{tag}-gate'
776               <<: *functest-jobs
777       - multijob:
778           name: build opnfv/functest-tempest
779           projects:
780             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
781               <<: *functest-jobs
782       - multijob:
783           name: build containers
784           projects:
785             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
786               <<: *functest-jobs
787             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
788               <<: *functest-jobs
789             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
790               <<: *functest-jobs
791             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
792               <<: *functest-jobs
793             - name: 'functest-opnfv-functest-features-{tag}-gate'
794               <<: *functest-jobs
795       - multijob:
796           name: opnfv/functest-healthcheck:{tag}
797           projects:
798             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
799               <<: *functest-jobs
800             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
801               <<: *functest-jobs
802             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
803               <<: *functest-jobs
804             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
805               <<: *functest-jobs
806             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
807               <<: *functest-jobs
808             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
809               <<: *functest-jobs
810             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
811               <<: *functest-jobs
812             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
813               <<: *functest-jobs
814             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
815               <<: *functest-jobs
816             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
817               <<: *functest-jobs
818             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
819               <<: *functest-jobs
820             - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
821               <<: *functest-jobs
822             - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
823               <<: *functest-jobs
824             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
825               <<: *functest-jobs
826       - multijob:
827           name: opnfv/functest-smoke:{tag}
828           projects:
829             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
830               <<: *functest-jobs
831             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
832               <<: *functest-jobs
833             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
834               <<: *functest-jobs
835             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
836               <<: *functest-jobs
837             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
838               <<: *functest-jobs
839             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
840               <<: *functest-jobs
841             - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
842               <<: *functest-jobs
843             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
844               <<: *functest-jobs
845             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
846               <<: *functest-jobs
847             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
848               <<: *functest-jobs
849             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
850               <<: *functest-jobs
851       - multijob:
852           name: opnfv/functest-benchmarking:{tag}
853           projects:
854             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
855               <<: *functest-jobs
856             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
857               <<: *functest-jobs
858             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
859               <<: *functest-jobs
860             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
861               <<: *functest-jobs
862       - multijob:
863           name: opnfv/functest-vnf:{tag}
864           execution-type: SEQUENTIALLY
865           projects:
866             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
867               <<: *functest-jobs
868             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
869               <<: *functest-jobs
870             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
871               <<: *functest-jobs
872             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
873               <<: *functest-jobs
874             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
875               <<: *functest-jobs
876       - multijob:
877           name: opnfv/functest-features:{tag}
878           projects:
879             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
880               <<: *functest-jobs
881             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
882               <<: *functest-jobs
883             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
884               <<: *functest-jobs
885             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
886               <<: *functest-jobs
887             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
888               <<: *functest-jobs
889
890 - project:
891     name: 'functest'
892     <<: *functest-params
893     jobs:
894       - 'functest-{tag}-daily'
895       - 'functest-{tag}-check'
896       - 'functest-{tag}-gate'
897
898 - view:
899     name: functest
900     view-type: list
901     columns:
902       - status
903       - weather
904       - job
905       - last-success
906       - last-failure
907       - last-duration
908     regex: ^functest-[a-z]+-(daily|check|gate)$