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