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