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