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