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