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