Merge "VNFM with ETSI FEAT03 changes"
[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-vnf-pull'
222     <<: *functest-params
223     container: 'functest-vnf'
224     jobs:
225       - 'functest-{repo}-{container}-{tag}-pull'
226
227 - job-template:
228     name: 'functest-{repo}-{container}-{tag}-rmi'
229     parameters:
230       - functest-slave:
231           slave: '{slave}'
232     builders:
233       - functest-remove-images:
234           <<: *functest-containers
235
236 - project:
237     name: 'functest-opnfv-functest-healthcheck-rmi'
238     <<: *functest-params
239     container: 'functest-healthcheck'
240     jobs:
241       - 'functest-{repo}-{container}-{tag}-rmi'
242
243 - project:
244     name: 'functest-opnfv-functest-smoke-rmi'
245     <<: *functest-params
246     container: 'functest-smoke'
247     jobs:
248       - 'functest-{repo}-{container}-{tag}-rmi'
249
250 - project:
251     name: 'functest-opnfv-functest-smoke-cntt-rmi'
252     <<: *functest-params
253     container: 'functest-smoke-cntt'
254     jobs:
255       - 'functest-{repo}-{container}-{tag}-rmi'
256
257 - project:
258     name: 'functest-opnfv-functest-benchmarking-rmi'
259     <<: *functest-params
260     container: 'functest-benchmarking'
261     jobs:
262       - 'functest-{repo}-{container}-{tag}-rmi'
263
264 - project:
265     name: 'functest-opnfv-functest-vnf-rmi'
266     <<: *functest-params
267     container: 'functest-vnf'
268     jobs:
269       - 'functest-{repo}-{container}-{tag}-rmi'
270
271 - job-template:
272     name: 'functest-{repo}-{container}-{tag}-{test}-run'
273     parameters:
274       - functest-slave:
275           slave: '{slave}'
276       - functest-build_tag:
277           build_tag: ''
278       - functest-DEBUG:
279           DEBUG: 'true'
280       - functest-EXTERNAL_NETWORK:
281           EXTERNAL_NETWORK: public
282     builders:
283       - functest-run-containers:
284           <<: *functest-run-containers
285
286 - project:
287     name: 'functest-opnfv-functest-healthcheck'
288     <<: *functest-params
289     container: 'functest-healthcheck'
290     test:
291       - connection_check
292       - tenantnetwork1
293       - tenantnetwork2
294       - vmready1
295       - vmready2
296       - singlevm1
297       - singlevm2
298       - vping_ssh
299       - vping_userdata
300       - cinder_test
301       - odl
302       - tempest_smoke
303       - tempest_horizon
304     exclude:
305       - tag: hunter
306         test: tempest_horizon
307     jobs:
308       - 'functest-{repo}-{container}-{tag}-{test}-run'
309
310 - project:
311     name: 'functest-opnfv-functest-smoke'
312     <<: *functest-params
313     container: 'functest-smoke'
314     test:
315       - neutron-tempest-plugin-api
316       - tempest_cinder
317       - tempest_keystone
318       - rally_sanity
319       - refstack_defcore
320       - refstack_compute
321       - refstack_object
322       - refstack_platform
323       - tempest_full
324       - tempest_scenario
325       - tempest_slow
326       - patrole
327       - neutron_trunk
328       - networking-bgpvpn
329       - networking-sfc
330       - barbican
331       - octavia
332     exclude:
333       - tag: latest
334         test: refstack_defcore
335       - tag: jerma
336         test: refstack_defcore
337       - tag: iruya
338         test: refstack_defcore
339       - tag: iruya
340         test: octavia
341       - tag: hunter
342         test: refstack_compute
343       - tag: hunter
344         test: refstack_object
345       - tag: hunter
346         test: refstack_platform
347       - tag: hunter
348         test: octavia
349     jobs:
350       - 'functest-{repo}-{container}-{tag}-{test}-run'
351
352 - project:
353     name: 'functest-opnfv-functest-smoke-cntt'
354     <<: *functest-params
355     container: 'functest-smoke-cntt'
356     test:
357       - neutron-tempest-plugin-api
358       - tempest_cinder
359       - tempest_keystone
360       - rally_sanity
361       - tempest_full
362       - tempest_scenario
363       - tempest_slow
364     jobs:
365       - 'functest-{repo}-{container}-{tag}-{test}-run'
366
367 - project:
368     name: 'functest-opnfv-functest-benchmarking'
369     <<: *functest-params
370     container: 'functest-benchmarking'
371     test:
372       - rally_full
373       - rally_jobs
374       - vmtp
375       - shaker
376     jobs:
377       - 'functest-{repo}-{container}-{tag}-{test}-run'
378
379 - project:
380     name: 'functest-opnfv-functest-vnf'
381     <<: *functest-params
382     container: 'functest-vnf'
383     test:
384       - cloudify
385       - cloudify_ims
386       - heat_ims
387       - vyos_vrouter
388       - juju_epc
389     jobs:
390       - 'functest-{repo}-{container}-{tag}-{test}-run'
391
392 - builder:
393     name: functest-zip
394     builders:
395       - shell: |
396           set +x
397           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
398           if [ "{repo}" = "_" ]; then
399             image={container}:{tag}
400           elif [ "{port}" = "None" ]; then
401             image={repo}/{container}:{tag}
402           else
403             image={repo}:{port}/{container}:{tag}
404           fi
405           sudo docker run --rm \
406             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
407             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
408             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
409             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
410             -e BUILD_TAG=$BUILD_TAG \
411             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
412             -v /home/opnfv/functest/.boto:/root/.boto \
413             $image zip_campaign
414
415 - job-template:
416     name: 'functest-{tag}-zip'
417     parameters:
418       - functest-build_tag:
419           build_tag: ''
420     builders:
421       - functest-zip:
422           <<: *functest-containers
423
424 - project:
425     name: 'functest-{tag}-zip'
426     <<: *functest-params
427     container: 'functest-healthcheck'
428     jobs:
429       - 'functest-{tag}-zip'
430
431 - job-template:
432     name: 'functest-{tag}-daily'
433     project-type: multijob
434     triggers:
435       - timed: '@daily'
436     parameters:
437       - functest-slave:
438           slave: '{slave}'
439       - functest-build_tag:
440           build_tag: ''
441       - functest-DEBUG:
442           DEBUG: 'true'
443       - functest-EXTERNAL_NETWORK:
444           EXTERNAL_NETWORK: public
445     properties:
446       - build-blocker:
447           use-build-blocker: true
448           blocking-level: 'NODE'
449           blocking-jobs:
450             - '^functest-{tag}-(daily|check|gate)$'
451     builders:
452       - multijob:
453           name: remove former images
454           projects:
455             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
456               <<: *functest-jobs
457             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
458               <<: *functest-jobs
459             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
460               <<: *functest-jobs
461             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
462               <<: *functest-jobs
463             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
464               <<: *functest-jobs
465       - multijob:
466           name: pull containers
467           projects:
468             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
469               <<: *functest-jobs
470             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
471               <<: *functest-jobs
472             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
473               <<: *functest-jobs
474             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
475               <<: *functest-jobs
476             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
477               <<: *functest-jobs
478       - multijob:
479           name: opnfv/functest-healthcheck:{tag}
480           projects:
481             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
482               <<: *functest-jobs
483             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
484               <<: *functest-jobs
485             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
486               <<: *functest-jobs
487             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
488               <<: *functest-jobs
489             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
490               <<: *functest-jobs
491             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
492               <<: *functest-jobs
493             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
494               <<: *functest-jobs
495             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
496               <<: *functest-jobs
497             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
498               <<: *functest-jobs
499             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
500               <<: *functest-jobs
501             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
502               <<: *functest-jobs
503             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
504               <<: *functest-jobs
505             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
506               <<: *functest-jobs
507       - multijob:
508           name: opnfv/functest-smoke:{tag}
509           projects:
510             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
511               <<: *functest-jobs
512             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
513               <<: *functest-jobs
514             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
515               <<: *functest-jobs
516             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
517               <<: *functest-jobs
518             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
519               <<: *functest-jobs
520             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
521               <<: *functest-jobs
522             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
523               <<: *functest-jobs
524             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
525               <<: *functest-jobs
526             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
527               <<: *functest-jobs
528             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
529               <<: *functest-jobs
530             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
531               <<: *functest-jobs
532             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
533               <<: *functest-jobs
534             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
535               <<: *functest-jobs
536             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
537               <<: *functest-jobs
538             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
539               <<: *functest-jobs
540             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
541               <<: *functest-jobs
542             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
543               <<: *functest-jobs
544       - multijob:
545           name: opnfv/functest-smoke-cntt:{tag}
546           projects:
547             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
548               <<: *functest-jobs
549             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
550               <<: *functest-jobs
551             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
552               <<: *functest-jobs
553             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
554               <<: *functest-jobs
555             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
556               <<: *functest-jobs
557             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
558               <<: *functest-jobs
559             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
560               <<: *functest-jobs
561       - multijob:
562           name: opnfv/functest-benchmarking:{tag}
563           projects:
564             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
565               <<: *functest-jobs
566             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
567               <<: *functest-jobs
568             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
569               <<: *functest-jobs
570             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
571               <<: *functest-jobs
572       - multijob:
573           name: opnfv/functest-vnf:{tag}
574           execution-type: SEQUENTIALLY
575           projects:
576             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
577               <<: *functest-jobs
578             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
579               <<: *functest-jobs
580             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
581               <<: *functest-jobs
582             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
583               <<: *functest-jobs
584             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
585               <<: *functest-jobs
586       - multijob:
587           name: dump all campaign data
588           projects:
589             - name: 'functest-{tag}-zip'
590               <<: *functest-jobs
591
592 - job-template:
593     name: 'functest-{repo}-{container}-{tag}-gate'
594     parameters:
595       - functest-slave:
596           slave: '{slave}'
597     scm:
598       - functest-scm:
599           ref: $GERRIT_REFSPEC
600     builders:
601       - functest-build-containers:
602           <<: *functest-build-containers
603           ref: $GERRIT_REFSPEC
604
605 - job-template:
606     name: 'functest-{repo}-{container}-{tag}-check'
607     parameters:
608       - functest-slave:
609           slave: '{slave}'
610       - functest-branch:
611           branch: '{branch}'
612     scm:
613       - functest-scm:
614           ref: $branch
615     builders:
616       - functest-build-containers:
617           <<: *functest-build-containers
618           ref: $branch
619
620 - project:
621     name: 'functest-_-alpine-3.11-rmi'
622     repo: _
623     port:
624     container: alpine
625     tag: '3.11'
626     slave: master
627     jobs:
628       - 'functest-{repo}-{container}-{tag}-rmi'
629
630 - project:
631     name: 'functest-_-alpine-3.11-pull'
632     repo: _
633     port:
634     container: alpine
635     tag: '3.11'
636     slave: master
637     jobs:
638       - 'functest-{repo}-{container}-{tag}-pull'
639
640 - project:
641     name: functest-opnfv-functest-core-{tag}-build
642     <<: *functest-params
643     container: functest-core
644     ref_arg: BRANCH
645     path: docker/core
646     jobs:
647       - 'functest-{repo}-{container}-{tag}-gate'
648       - 'functest-{repo}-{container}-{tag}-check'
649
650 - project:
651     name: functest-opnfv-functest-tempest-{tag}-build
652     <<: *functest-params
653     container: functest-tempest
654     ref_arg: BRANCH
655     path: docker/tempest
656     jobs:
657       - 'functest-{repo}-{container}-{tag}-gate'
658       - 'functest-{repo}-{container}-{tag}-check'
659     exclude:
660       - tag: latest
661       - tag: jerma
662
663 - project:
664     name: functest-opnfv-functest-healthcheck-{tag}-build
665     <<: *functest-params
666     container: functest-healthcheck
667     ref_arg: BRANCH
668     path: docker/healthcheck
669     jobs:
670       - 'functest-{repo}-{container}-{tag}-gate'
671       - 'functest-{repo}-{container}-{tag}-check'
672
673 - project:
674     name: functest-opnfv-functest-smoke-{tag}-build
675     <<: *functest-params
676     container: functest-smoke
677     ref_arg: BRANCH
678     path: docker/smoke
679     jobs:
680       - 'functest-{repo}-{container}-{tag}-gate'
681       - 'functest-{repo}-{container}-{tag}-check'
682
683 - project:
684     name: functest-opnfv-functest-benchmarking-{tag}-build
685     <<: *functest-params
686     container: functest-benchmarking
687     ref_arg: BRANCH
688     path: docker/benchmarking
689     jobs:
690       - 'functest-{repo}-{container}-{tag}-gate'
691       - 'functest-{repo}-{container}-{tag}-check'
692
693 - project:
694     name: functest-opnfv-functest-vnf-{tag}-build
695     <<: *functest-params
696     container: functest-vnf
697     ref_arg:
698     path: docker/vnf
699     jobs:
700       - 'functest-{repo}-{container}-{tag}-gate'
701       - 'functest-{repo}-{container}-{tag}-check'
702
703 - project:
704     name: functest-opnfv-functest-smoke-cntt-{tag}-build
705     <<: *functest-params
706     container: functest-smoke-cntt
707     ref_arg: BRANCH
708     path: docker/smoke-cntt
709     jobs:
710       - 'functest-{repo}-{container}-{tag}-gate'
711       - 'functest-{repo}-{container}-{tag}-check'
712
713 - job-template:
714     name: 'functest-{tag}-check'
715     project-type: multijob
716     parameters:
717       - functest-slave:
718           slave: '{slave}'
719       - functest-build_tag:
720           build_tag: ''
721       - functest-branch:
722           branch: '{branch}'
723       - functest-DEBUG:
724           DEBUG: 'true'
725       - functest-EXTERNAL_NETWORK:
726           EXTERNAL_NETWORK: public
727     properties:
728       - build-blocker:
729           use-build-blocker: true
730           blocking-level: 'NODE'
731           blocking-jobs:
732             - '^functest-{tag}-(daily|check|gate)$'
733     builders:
734       - multijob:
735           name: remove former images
736           projects:
737             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
738               <<: *functest-jobs
739             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
740               <<: *functest-jobs
741             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
742               <<: *functest-jobs
743             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
744               <<: *functest-jobs
745             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
746               <<: *functest-jobs
747       - multijob:
748           name: remove dependencies
749           projects:
750             - name: 'functest-_-alpine-3.11-rmi'
751               <<: *functest-jobs
752       - multijob:
753           name: pull dependencies
754           projects:
755             - name: 'functest-_-alpine-3.11-pull'
756               <<: *functest-jobs
757       - multijob:
758           name: build opnfv/functest-core
759           projects:
760             - name: 'functest-opnfv-functest-core-{tag}-check'
761               <<: *functest-jobs
762       - multijob:
763           name: build opnfv/functest-tempest
764           projects:
765             - name: 'functest-opnfv-functest-tempest-{tag}-check'
766               <<: *functest-jobs
767       - multijob:
768           name: build containers
769           projects:
770             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
771               <<: *functest-jobs
772             - name: 'functest-opnfv-functest-smoke-{tag}-check'
773               <<: *functest-jobs
774             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
775               <<: *functest-jobs
776             - name: 'functest-opnfv-functest-vnf-{tag}-check'
777               <<: *functest-jobs
778       - multijob:
779           name: build opnfv/functest-smoke-cntt
780           projects:
781             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
782               <<: *functest-jobs
783       - multijob:
784           name: opnfv/functest-healthcheck:{tag}
785           projects:
786             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
787               <<: *functest-jobs
788             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
789               <<: *functest-jobs
790             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
791               <<: *functest-jobs
792             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
793               <<: *functest-jobs
794             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
795               <<: *functest-jobs
796             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
797               <<: *functest-jobs
798             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
799               <<: *functest-jobs
800             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
801               <<: *functest-jobs
802             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
803               <<: *functest-jobs
804             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
805               <<: *functest-jobs
806             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
807               <<: *functest-jobs
808             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
809               <<: *functest-jobs
810             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
811               <<: *functest-jobs
812       - multijob:
813           name: opnfv/functest-smoke:{tag}
814           projects:
815             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
816               <<: *functest-jobs
817             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
818               <<: *functest-jobs
819             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
820               <<: *functest-jobs
821             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
822               <<: *functest-jobs
823             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
824               <<: *functest-jobs
825             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
826               <<: *functest-jobs
827             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
828               <<: *functest-jobs
829             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
830               <<: *functest-jobs
831             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
832               <<: *functest-jobs
833             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
834               <<: *functest-jobs
835             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
836               <<: *functest-jobs
837             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
838               <<: *functest-jobs
839             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
840               <<: *functest-jobs
841             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
842               <<: *functest-jobs
843             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
844               <<: *functest-jobs
845             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
846               <<: *functest-jobs
847             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
848               <<: *functest-jobs
849       - multijob:
850           name: opnfv/functest-smoke-cntt:{tag}
851           projects:
852             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
853               <<: *functest-jobs
854             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
855               <<: *functest-jobs
856             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
857               <<: *functest-jobs
858             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
859               <<: *functest-jobs
860             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
861               <<: *functest-jobs
862             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
863               <<: *functest-jobs
864             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
865               <<: *functest-jobs
866       - multijob:
867           name: opnfv/functest-benchmarking:{tag}
868           projects:
869             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
870               <<: *functest-jobs
871             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
872               <<: *functest-jobs
873             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
874               <<: *functest-jobs
875             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
876               <<: *functest-jobs
877       - multijob:
878           name: opnfv/functest-vnf:{tag}
879           execution-type: SEQUENTIALLY
880           projects:
881             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
882               <<: *functest-jobs
883             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
884               <<: *functest-jobs
885             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
886               <<: *functest-jobs
887             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
888               <<: *functest-jobs
889             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
890               <<: *functest-jobs
891
892 - trigger:
893     name: functest-patchset-created
894     triggers:
895       - gerrit:
896           server-name: 'gerrit.opnfv.org'
897           trigger-on:
898             - patchset-created-event
899             - comment-added-contains-event:
900                 comment-contains-value: 'recheck'
901             - comment-added-contains-event:
902                 comment-contains-value: 'reverify'
903           projects:
904             - project-compare-type: 'ANT'
905               project-pattern: 'functest'
906               branches:
907                 - branch-compare-type: 'ANT'
908                   branch-pattern: '**/{branch}'
909           skip-vote:
910             successful: false
911             failed: false
912             unstable: false
913             notbuilt: false
914
915 - job-template:
916     name: 'functest-{tag}-gate'
917     project-type: multijob
918     triggers:
919       - functest-patchset-created:
920           branch: '{branch}'
921     parameters:
922       - functest-slave:
923           slave: '{slave}'
924       - functest-build_tag:
925           build_tag: ''
926       - functest-DEBUG:
927           DEBUG: 'true'
928       - functest-EXTERNAL_NETWORK:
929           EXTERNAL_NETWORK: public
930     properties:
931       - build-blocker:
932           use-build-blocker: true
933           blocking-level: 'NODE'
934           blocking-jobs:
935             - '^functest-{tag}-(daily|check|gate)$'
936     builders:
937       - multijob:
938           name: remove former images
939           projects:
940             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
941               <<: *functest-jobs
942             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
943               <<: *functest-jobs
944             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
945               <<: *functest-jobs
946             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
947               <<: *functest-jobs
948             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
949               <<: *functest-jobs
950       - multijob:
951           name: remove dependencies
952           projects:
953             - name: 'functest-_-alpine-3.11-rmi'
954               <<: *functest-jobs
955       - multijob:
956           name: pull dependencies
957           projects:
958             - name: 'functest-_-alpine-3.11-pull'
959               <<: *functest-jobs
960       - multijob:
961           name: build opnfv/functest-core
962           projects:
963             - name: 'functest-opnfv-functest-core-{tag}-gate'
964               <<: *functest-jobs
965       - multijob:
966           name: build opnfv/functest-tempest
967           projects:
968             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
969               <<: *functest-jobs
970       - multijob:
971           name: build containers
972           projects:
973             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
974               <<: *functest-jobs
975             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
976               <<: *functest-jobs
977             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
978               <<: *functest-jobs
979             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
980               <<: *functest-jobs
981       - multijob:
982           name: build opnfv/functest-smoke-cntt
983           projects:
984             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
985               <<: *functest-jobs
986       - multijob:
987           name: opnfv/functest-healthcheck:{tag}
988           projects:
989             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
990               <<: *functest-jobs
991             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
992               <<: *functest-jobs
993             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
994               <<: *functest-jobs
995             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
996               <<: *functest-jobs
997             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
998               <<: *functest-jobs
999             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1000               <<: *functest-jobs
1001             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1002               <<: *functest-jobs
1003             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1004               <<: *functest-jobs
1005             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1006               <<: *functest-jobs
1007             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1008               <<: *functest-jobs
1009             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1010               <<: *functest-jobs
1011             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1012               <<: *functest-jobs
1013             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1014               <<: *functest-jobs
1015       - multijob:
1016           name: opnfv/functest-smoke:{tag}
1017           projects:
1018             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
1019               <<: *functest-jobs
1020             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1021               <<: *functest-jobs
1022             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1023               <<: *functest-jobs
1024             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1025               <<: *functest-jobs
1026             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1027               <<: *functest-jobs
1028             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1029               <<: *functest-jobs
1030             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1031               <<: *functest-jobs
1032             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1033               <<: *functest-jobs
1034             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1035               <<: *functest-jobs
1036             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1037               <<: *functest-jobs
1038             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1039               <<: *functest-jobs
1040             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1041               <<: *functest-jobs
1042             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
1043               <<: *functest-jobs
1044             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1045               <<: *functest-jobs
1046             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1047               <<: *functest-jobs
1048             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
1049               <<: *functest-jobs
1050             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
1051               <<: *functest-jobs
1052       - multijob:
1053           name: opnfv/functest-smoke-cntt:{tag}
1054           projects:
1055             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
1056               <<: *functest-jobs
1057             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
1058               <<: *functest-jobs
1059             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
1060               <<: *functest-jobs
1061             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
1062               <<: *functest-jobs
1063             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
1064               <<: *functest-jobs
1065             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
1066               <<: *functest-jobs
1067             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
1068               <<: *functest-jobs
1069       - multijob:
1070           name: opnfv/functest-benchmarking:{tag}
1071           projects:
1072             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1073               <<: *functest-jobs
1074             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1075               <<: *functest-jobs
1076             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1077               <<: *functest-jobs
1078             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1079               <<: *functest-jobs
1080       - multijob:
1081           name: opnfv/functest-vnf:{tag}
1082           execution-type: SEQUENTIALLY
1083           projects:
1084             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1085               <<: *functest-jobs
1086             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1087               <<: *functest-jobs
1088             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1089               <<: *functest-jobs
1090             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1091               <<: *functest-jobs
1092             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1093               <<: *functest-jobs
1094
1095 - project:
1096     name: 'functest'
1097     <<: *functest-params
1098     jobs:
1099       - 'functest-{tag}-daily'
1100       - 'functest-{tag}-check'
1101       - 'functest-{tag}-gate'
1102
1103 - view:
1104     name: functest
1105     view-type: list
1106     columns:
1107       - status
1108       - weather
1109       - job
1110       - last-success
1111       - last-failure
1112       - last-duration
1113     regex: ^functest-[a-z]+-(daily|check|gate)$