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