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