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