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