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