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