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