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