Temporarily disable sig_network_serial
[releng.git] / jjb / functest / functest-kubernetes.yaml
1 ---
2 - functest-kubernetes-containers: &functest-kubernetes-containers
3     name: 'functest-kubernetes-containers'
4     repo: '{repo}'
5     port: '{port}'
6     container: '{container}'
7     tag: '{tag}'
8
9 - functest-kubernetes-params: &functest-kubernetes-params
10     name: 'functest-kubernetes-params'
11     repo: 'opnfv'
12     port:
13     tag:
14       - latest:
15           from:
16           buildargs:
17           branch: master
18           slave: lf-virtual1-8
19           dependency: 3.14
20       - v1.22:
21           from:
22           buildargs:
23           branch: stable/v1.22
24           slave: lf-virtual1-7
25           dependency: 3.14
26       - v1.21:
27           from:
28           buildargs:
29           branch: stable/v1.21
30           slave: lf-virtual1-6
31           dependency: 3.13
32       - leguer:
33           from:
34           buildargs:
35           branch: stable/leguer
36           slave: lf-virtual1-5
37           dependency: 3.12
38       - kali:
39           from:
40           buildargs:
41           branch: stable/kali
42           slave: lf-virtual1-4
43           dependency: 3.11
44
45 - functest-kubernetes-jobs: &functest-kubernetes-jobs
46     name: 'functest-kubernetes-jobs'
47     current-parameters: true
48
49 - parameter:
50     name: functest-kubernetes-slave
51     parameters:
52       - label:
53           name: slave
54           default: '{slave}'
55
56 - parameter:
57     name: functest-kubernetes-build_tag
58     parameters:
59       - random-string:
60           name: build_tag
61
62 - parameter:
63     name: functest-kubernetes-DEPLOY_SCENARIO
64     parameters:
65       - string:
66           name: DEPLOY_SCENARIO
67           default: k8-nosdn-nofeature-noha
68
69 - parameter:
70     name: functest-kubernetes-E2E_TEST_OPTS
71     parameters:
72       - string:
73           name: E2E_TEST_OPTS
74           default: container-runtime:containerd
75
76 - functest-kubernetes-run-containers: &functest-kubernetes-run-containers
77     name: 'functest-kubernetes-run-containers'
78     <<: *functest-kubernetes-containers
79     test: '{test}'
80     privileged: '{privileged}'
81     volumes: '{volumes}'
82     env: '{env}'
83     network: '{network}'
84
85 - builder:
86     name: functest-kubernetes-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           docker pull $image
98
99 - builder:
100     name: functest-kubernetes-run-containers
101     builders:
102       - shell: |
103           set +x
104           volumes=;
105           if [ "{volumes}" != "None" ]; then
106             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); do volumes="-v $i $volumes"; done
107           fi
108           env=;
109           if [ "{env}" != "None" ]; then
110             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); do env="-e $i $env"; done
111           fi
112           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
113           if [ "{repo}" = "_" ]; then
114             image={container}:{tag}
115           elif [ "{port}" = "None" ]; then
116             image={repo}/{container}:{tag}
117           else
118             image={repo}:{port}/{container}:{tag}
119           fi
120           docker run --rm \
121             --privileged={privileged} \
122             --network={network} \
123             $volumes \
124             $env \
125             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
126             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
127             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
128             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
129             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
130             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
131             -e NODE_NAME=$slave \
132             -e BUILD_TAG=$BUILD_TAG \
133             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
134             $image run_tests -t {test} -p -r
135
136 - builder:
137     name: functest-kubernetes-remove-images
138     builders:
139       - shell: |
140           set +x
141           if [ "{repo}" = "_" ]; then
142             image={container}:{tag}
143           elif [ "{port}" = "None" ]; then
144             image={repo}/{container}:{tag}
145           else
146             image={repo}:{port}/{container}:{tag}
147           fi
148           docker rmi $image || true
149
150 - job-template:
151     name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
152     parameters:
153       - functest-kubernetes-slave:
154           slave: '{slave}'
155     builders:
156       - functest-kubernetes-pull-containers:
157           <<: *functest-kubernetes-containers
158
159 - project:
160     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
161     <<: *functest-kubernetes-params
162     container: 'functest-kubernetes-healthcheck'
163     jobs:
164       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
165
166 - project:
167     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
168     <<: *functest-kubernetes-params
169     container: 'functest-kubernetes-smoke'
170     jobs:
171       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
172
173 - project:
174     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
175     <<: *functest-kubernetes-params
176     container: 'functest-kubernetes-security'
177     jobs:
178       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
179
180 - project:
181     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
182     <<: *functest-kubernetes-params
183     container: 'functest-kubernetes-benchmarking'
184     jobs:
185       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
186
187 - project:
188     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
189     <<: *functest-kubernetes-params
190     container: 'functest-kubernetes-cnf'
191     jobs:
192       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
193
194 - job-template:
195     name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
196     parameters:
197       - functest-kubernetes-slave:
198           slave: '{slave}'
199     builders:
200       - functest-kubernetes-remove-images:
201           <<: *functest-kubernetes-containers
202
203 - project:
204     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
205     <<: *functest-kubernetes-params
206     container: 'functest-kubernetes-healthcheck'
207     jobs:
208       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
209
210 - project:
211     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
212     <<: *functest-kubernetes-params
213     container: 'functest-kubernetes-smoke'
214     jobs:
215       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
216
217 - project:
218     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
219     <<: *functest-kubernetes-params
220     container: 'functest-kubernetes-security'
221     jobs:
222       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
223
224 - project:
225     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
226     <<: *functest-kubernetes-params
227     container: 'functest-kubernetes-benchmarking'
228     jobs:
229       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
230
231 - project:
232     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
233     <<: *functest-kubernetes-params
234     container: 'functest-kubernetes-cnf'
235     jobs:
236       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
237
238 - job-template:
239     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
240     parameters:
241       - functest-kubernetes-slave:
242           slave: '{slave}'
243       - functest-kubernetes-build_tag:
244           build_tag: ''
245       - functest-kubernetes-DEPLOY_SCENARIO:
246           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
247       - functest-kubernetes-E2E_TEST_OPTS:
248           E2E_TEST_OPTS: container-runtime:containerd
249     builders:
250       - functest-kubernetes-run-containers:
251           <<: *functest-kubernetes-run-containers
252
253 - project:
254     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
255     <<: *functest-kubernetes-params
256     volumes:
257       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
258     env:
259       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
260       - E2E_TEST_OPTS=$E2E_TEST_OPTS
261     container: 'functest-kubernetes-healthcheck'
262     test:
263       - k8s_quick
264       - k8s_smoke
265     privileged: 'false'
266     network: bridge
267     jobs:
268       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
269
270 - job-template:
271     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
272     parameters:
273       - functest-kubernetes-slave:
274           slave: '{slave}'
275       - functest-kubernetes-build_tag:
276           build_tag: ''
277       - functest-kubernetes-DEPLOY_SCENARIO:
278           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
279       - functest-kubernetes-E2E_TEST_OPTS:
280           E2E_TEST_OPTS: container-runtime:containerd
281     builders:
282       - functest-kubernetes-run-containers:
283           <<: *functest-kubernetes-run-containers
284
285 - project:
286     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
287     <<: *functest-kubernetes-params
288     volumes:
289       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
290     env:
291       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
292       - E2E_TEST_OPTS=$E2E_TEST_OPTS
293     container: 'functest-kubernetes-smoke'
294     test:
295       - xrally_kubernetes
296       - k8s_io
297       - k8s_conformance
298       - k8s_conformance_serial
299       - sig_api_machinery
300       - sig_api_machinery_serial
301       - sig_apps
302       - sig_apps_serial
303       - sig_auth
304       - sig_cli
305       - sig_cli_serial
306       - sig_cluster_lifecycle
307       - sig_instrumentation
308       - sig_network
309       - sig_network_serial
310       - sig_node
311       - sig_scheduling_serial
312       - sig_storage
313       - sig_storage_serial
314     privileged: 'false'
315     network: bridge
316     exclude:
317       - tag: latest
318         test: k8s_io
319       - tag: v1.22
320         test: k8s_io
321       - tag: v1.21
322         test: k8s_io
323     jobs:
324       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
325
326 - job-template:
327     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
328     parameters:
329       - functest-kubernetes-slave:
330           slave: '{slave}'
331       - functest-kubernetes-build_tag:
332           build_tag: ''
333       - functest-kubernetes-DEPLOY_SCENARIO:
334           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
335       - functest-kubernetes-E2E_TEST_OPTS:
336           E2E_TEST_OPTS: container-runtime:containerd
337     builders:
338       - functest-kubernetes-run-containers:
339           <<: *functest-kubernetes-run-containers
340
341 - project:
342     name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
343     <<: *functest-kubernetes-params
344     volumes:
345       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
346     env:
347       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
348       - E2E_TEST_OPTS=$E2E_TEST_OPTS
349     container: 'functest-kubernetes-security'
350     test:
351       - kube_hunter
352       - kube_bench_master
353       - kube_bench_node
354     privileged: 'false'
355     network: bridge
356     jobs:
357       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
358
359 - job-template:
360     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
361     parameters:
362       - functest-kubernetes-slave:
363           slave: '{slave}'
364       - functest-kubernetes-build_tag:
365           build_tag: ''
366       - functest-kubernetes-DEPLOY_SCENARIO:
367           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
368       - functest-kubernetes-E2E_TEST_OPTS:
369           E2E_TEST_OPTS: container-runtime:containerd
370     builders:
371       - functest-kubernetes-run-containers:
372           <<: *functest-kubernetes-run-containers
373
374 - project:
375     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
376     <<: *functest-kubernetes-params
377     volumes:
378       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
379     env:
380       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
381       - E2E_TEST_OPTS=$E2E_TEST_OPTS
382     container: 'functest-kubernetes-benchmarking'
383     test:
384       - xrally_kubernetes_full
385       - netperf
386     privileged: 'false'
387     network: bridge
388     jobs:
389       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
390
391 - job-template:
392     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
393     parameters:
394       - functest-kubernetes-slave:
395           slave: '{slave}'
396       - functest-kubernetes-build_tag:
397           build_tag: ''
398       - functest-kubernetes-DEPLOY_SCENARIO:
399           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
400       - functest-kubernetes-E2E_TEST_OPTS:
401           E2E_TEST_OPTS: container-runtime:containerd
402     builders:
403       - functest-kubernetes-run-containers:
404           <<: *functest-kubernetes-run-containers
405
406 - project:
407     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
408     <<: *functest-kubernetes-params
409     volumes:
410       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
411     env:
412       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
413       - E2E_TEST_OPTS=$E2E_TEST_OPTS
414     container: 'functest-kubernetes-cnf'
415     test:
416       - k8s_vims
417       - helm_vims
418       - cnf_testsuite
419     privileged: 'false'
420     network: bridge
421     jobs:
422       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
423
424 - builder:
425     name: functest-kubernetes-zip
426     builders:
427       - shell: |
428           set +x
429           volumes=;
430           if [ "{volumes}" != "None" ]; then
431             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); do volumes="-v $i $volumes"; done
432           fi
433           env=;
434           if [ "{env}" != "None" ]; then
435             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); do env="-e $i $env"; done
436           fi
437           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
438           if [ "{repo}" = "_" ]; then
439             image={container}:{tag}
440           elif [ "{port}" = "None" ]; then
441             image={repo}/{container}:{tag}
442           else
443             image={repo}:{port}/{container}:{tag}
444           fi
445           docker run --rm \
446             $volumes \
447             $env \
448             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
449             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
450             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
451             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
452             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
453             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
454             -e BUILD_TAG=$BUILD_TAG \
455             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
456             $image zip_campaign
457
458 - job-template:
459     name: 'functest-kubernetes-{tag}-zip'
460     parameters:
461       - functest-kubernetes-slave:
462           slave: '{slave}'
463       - functest-kubernetes-build_tag:
464           build_tag: ''
465       - functest-kubernetes-DEPLOY_SCENARIO:
466           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
467       - functest-kubernetes-E2E_TEST_OPTS:
468           E2E_TEST_OPTS: container-runtime:containerd
469     builders:
470       - functest-kubernetes-zip:
471           <<: *functest-kubernetes-containers
472           volumes: '{volumes}'
473           env: '{env}'
474
475 - project:
476     name: 'functest-kubernetes-{tag}-zip'
477     <<: *functest-kubernetes-params
478     volumes:
479       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
480     env:
481       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
482       - E2E_TEST_OPTS=$E2E_TEST_OPTS
483     container: 'functest-kubernetes-healthcheck'
484     jobs:
485       - 'functest-kubernetes-{tag}-zip'
486
487 - job-template:
488     name: 'functest-kubernetes-{tag}-daily'
489     project-type: multijob
490     triggers:
491       - timed: '@weekly'
492     parameters:
493       - functest-kubernetes-slave:
494           slave: '{slave}'
495       - functest-kubernetes-build_tag:
496           build_tag: ''
497       - functest-kubernetes-DEPLOY_SCENARIO:
498           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
499       - functest-kubernetes-E2E_TEST_OPTS:
500           E2E_TEST_OPTS: container-runtime:containerd
501     # PyYAML and yamllint differ here
502     # see https://github.com/yaml/pyyaml/issues/234
503     # yamllint disable rule:indentation
504     properties:
505       - build-blocker:
506           blocking-jobs:
507           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
508     # yamllint enable rule:indentation
509     builders:
510       - multijob:
511           name: remove former images
512           projects:
513             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
514               <<: *functest-kubernetes-jobs
515             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
516               <<: *functest-kubernetes-jobs
517             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
518               <<: *functest-kubernetes-jobs
519             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
520               <<: *functest-kubernetes-jobs
521             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
522               <<: *functest-kubernetes-jobs
523       - multijob:
524           name: pull containers
525           projects:
526             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
527               <<: *functest-kubernetes-jobs
528             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
529               <<: *functest-kubernetes-jobs
530             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
531               <<: *functest-kubernetes-jobs
532             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
533               <<: *functest-kubernetes-jobs
534             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
535               <<: *functest-kubernetes-jobs
536       - multijob:
537           name: opnfv/functest-kubernetes-healthcheck:{tag}
538           projects:
539             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
540               <<: *functest-kubernetes-jobs
541             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
542               <<: *functest-kubernetes-jobs
543       - multijob:
544           name: opnfv/functest-kubernetes-smoke:{tag}
545           execution-type: SEQUENTIALLY
546           projects:
547             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
548               <<: *functest-kubernetes-jobs
549             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_io-run'
550               <<: *functest-kubernetes-jobs
551             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
552               <<: *functest-kubernetes-jobs
553             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
554               <<: *functest-kubernetes-jobs
555             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
556               <<: *functest-kubernetes-jobs
557             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
558               <<: *functest-kubernetes-jobs
559             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
560               <<: *functest-kubernetes-jobs
561             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
562               <<: *functest-kubernetes-jobs
563             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
564               <<: *functest-kubernetes-jobs
565             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli-run'
566               <<: *functest-kubernetes-jobs
567             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli_serial-run'
568               <<: *functest-kubernetes-jobs
569             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
570               <<: *functest-kubernetes-jobs
571             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
572               <<: *functest-kubernetes-jobs
573             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
574               <<: *functest-kubernetes-jobs
575             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
576               <<: *functest-kubernetes-jobs
577             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
578               <<: *functest-kubernetes-jobs
579             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
580               <<: *functest-kubernetes-jobs
581             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
582               <<: *functest-kubernetes-jobs
583       - multijob:
584           name: opnfv/functest-kubernetes-security:{tag}
585           projects:
586             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
587               <<: *functest-kubernetes-jobs
588             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
589               <<: *functest-kubernetes-jobs
590             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
591               <<: *functest-kubernetes-jobs
592       - multijob:
593           name: opnfv/functest-kubernetes-benchmarking:{tag}
594           projects:
595             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
596               <<: *functest-kubernetes-jobs
597             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
598               <<: *functest-kubernetes-jobs
599       - multijob:
600           name: opnfv/functest-kubernetes-cnf:{tag}
601           projects:
602             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
603               <<: *functest-kubernetes-jobs
604             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
605               <<: *functest-kubernetes-jobs
606             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
607               <<: *functest-kubernetes-jobs
608       - multijob:
609           name: dump all campaign data
610           projects:
611             - name: 'functest-kubernetes-{tag}-zip'
612               <<: *functest-kubernetes-jobs
613
614 - project:
615     name: 'functest-kubernetes-daily'
616     <<: *functest-kubernetes-params
617     jobs:
618       - 'functest-kubernetes-{tag}-daily'
619
620 - view:
621     name: functest-kubernetes
622     view-type: list
623     columns:
624       - status
625       - weather
626       - job
627       - last-success
628       - last-failure
629       - last-duration
630     regex: ^functest-kubernetes-[a-z0-9.]+-daily$
631
632 - functest-kubernetes-build-containers: &functest-kubernetes-build-containers
633     name: 'functest-kubernetes-build-containers'
634     <<: *functest-kubernetes-containers
635     ref_arg: '{ref_arg}'
636     path: '{path}'
637     buildargs: '{buildargs}'
638     from: '{from}'
639
640 - builder:
641     name: functest-kubernetes-build-containers
642     builders:
643       - shell: |
644           set +x
645           if [ "{repo}" = "_" ]; then
646             image={container}:{tag}
647           elif [ "{port}" = "None" ]; then
648             image={repo}/{container}:{tag}
649           else
650             image={repo}:{port}/{container}:{tag}
651           fi
652           build_args=""
653           if [ "{buildargs}" != "None" ]; then
654             build_args="{buildargs}"
655           fi
656           if [ "{ref_arg}" != "None" ]; then
657             build_args="$build_args --build-arg {ref_arg}={ref}"
658           fi
659           cd {path}
660           if [ "{from}" != "None" ]; then
661               sed -i {from} Dockerfile
662           fi
663           docker build $build_args \
664             --pull=false --no-cache --force-rm=true \
665             -t $image .
666
667 - scm:
668     name: functest-kubernetes-scm
669     scm:
670       - git:
671           url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
672           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
673           branches:
674             - '{ref}'
675
676 - functest-kubernetes-dep: &functest-kubernetes-dep
677     name: 'functest-kubernetes-containers'
678     repo: '{repo}'
679     port: '{port}'
680     tag: '{tag}'
681     dependency: '{dependency}'
682
683 - builder:
684     name: functest-kubernetes-pull-dep-images
685     builders:
686       - shell: |
687           set +x
688           if [ "_" = "_" ]; then
689             image=alpine:{dependency}
690           elif [ "None" = "None" ]; then
691             image=_/alpine:{dependency}
692           else
693             image=_:/alpine:{dependency}
694           fi
695           docker pull $image || true
696
697 - builder:
698     name: functest-kubernetes-remove-dep-images
699     builders:
700       - shell: |
701           set +x
702           if [ "_" = "_" ]; then
703             image=alpine:{dependency}
704           elif [ "" = "None" ]; then
705             image=_/alpine:{dependency}
706           else
707             image=_:/alpine:{dependency}
708           fi
709           docker rmi $image || true
710
711 - job-template:
712     name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
713     parameters:
714       - functest-kubernetes-slave:
715           slave: '{slave}'
716     builders:
717       - functest-kubernetes-pull-dep-images:
718           <<: *functest-kubernetes-dep
719
720 - project:
721     name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
722     <<: *functest-kubernetes-params
723     jobs:
724       - 'functest-kubernetes-{repo}-{tag}-dep-pull'
725
726 - job-template:
727     name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
728     parameters:
729       - functest-kubernetes-slave:
730           slave: '{slave}'
731     builders:
732       - functest-kubernetes-remove-dep-images:
733           <<: *functest-kubernetes-dep
734
735 - project:
736     name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
737     <<: *functest-kubernetes-params
738     jobs:
739       - 'functest-kubernetes-{repo}-{tag}-dep-rmi'
740
741 - builder:
742     name: functest-kubernetes-tox
743     builders:
744       - shell: |
745           set +x
746           apt-get update && DEBIAN_FRONTEND=noninteractive \
747           apt-get install software-properties-common gpg -y
748           add-apt-repository -y ppa:deadsnakes/ppa
749           apt-get update && DEBIAN_FRONTEND=noninteractive \
750           apt-get install \
751             python3.9 python3.9-dev python3.9-distutils \
752             python3.8 python3.8-dev python3.8-distutils \
753             python3.7 python3.7-dev python3.6 python3.6-dev \
754             python python-dev python3-pip enchant -y
755           pip3 install tox tox-pip-version
756
757           tox
758
759 - job-template:
760     name: 'functest-kubernetes-{tag}-tox'
761     scm:
762       - functest-kubernetes-scm:
763           ref: $GERRIT_REFSPEC
764     triggers:
765       - functest-kubernetes-patchset-created:
766           branch: '{branch}'
767     parameters:
768       - functest-kubernetes-slave:
769           slave: '{slave}'
770     builders:
771       - functest-kubernetes-tox:
772
773 - project:
774     name: functest-kubernetes-tox
775     <<: *functest-kubernetes-params
776     jobs:
777       - 'functest-kubernetes-{tag}-tox'
778
779 - job-template:
780     name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
781     parameters:
782       - functest-kubernetes-slave:
783           slave: '{slave}'
784     scm:
785       - functest-kubernetes-scm:
786           ref: $GERRIT_REFSPEC
787     builders:
788       - functest-kubernetes-build-containers:
789           <<: *functest-kubernetes-build-containers
790           ref: $GERRIT_REFSPEC
791           buildargs: '{buildargs}'
792
793 - project:
794     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate
795     <<: *functest-kubernetes-params
796     container: functest-kubernetes-core
797     ref_arg: BRANCH
798     path: docker/core
799     jobs:
800       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
801
802 - project:
803     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate
804     <<: *functest-kubernetes-params
805     container: functest-kubernetes-healthcheck
806     ref_arg:
807     path: docker/healthcheck
808     jobs:
809       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
810
811 - project:
812     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate
813     <<: *functest-kubernetes-params
814     container: functest-kubernetes-cnf
815     ref_arg: BRANCH
816     path: docker/cnf
817     jobs:
818       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
819
820 - project:
821     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate
822     <<: *functest-kubernetes-params
823     container: functest-kubernetes-security
824     ref_arg: BRANCH
825     path: docker/security
826     jobs:
827       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
828
829 - project:
830     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate
831     <<: *functest-kubernetes-params
832     container: functest-kubernetes-smoke
833     ref_arg:
834     path: docker/smoke
835     jobs:
836       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
837
838 - project:
839     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate
840     <<: *functest-kubernetes-params
841     container: functest-kubernetes-benchmarking
842     ref_arg:
843     path: docker/benchmarking
844     jobs:
845       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
846
847 - trigger:
848     name: functest-kubernetes-patchset-created
849     triggers:
850       - gerrit:
851           trigger-on:
852             - patchset-created-event
853             - comment-added-contains-event:
854                 comment-contains-value: 'recheck'
855             - comment-added-contains-event:
856                 comment-contains-value: 'reverify'
857           projects:
858             - project-compare-type: 'ANT'
859               project-pattern: 'functest-kubernetes'
860               branches:
861                 - branch-compare-type: 'ANT'
862                   branch-pattern: '**/{branch}'
863
864 - job-template:
865     name: 'functest-kubernetes-{tag}-review'
866     project-type: multijob
867     triggers:
868       - functest-kubernetes-patchset-created:
869           branch: '{branch}'
870     parameters:
871       - functest-kubernetes-slave:
872           slave: '{slave}'
873       - functest-kubernetes-build_tag:
874           build_tag: ''
875       - functest-kubernetes-DEPLOY_SCENARIO:
876           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
877       - functest-kubernetes-E2E_TEST_OPTS:
878           E2E_TEST_OPTS: container-runtime:containerd
879     # PyYAML and yamllint differ here
880     # see https://github.com/yaml/pyyaml/issues/234
881     # yamllint disable rule:indentation
882     properties:
883       - build-blocker:
884           blocking-jobs:
885           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
886     # yamllint enable rule:indentation
887     builders:
888       - multijob:
889           name: remove former images
890           projects:
891             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
892               <<: *functest-kubernetes-jobs
893             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
894               <<: *functest-kubernetes-jobs
895             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
896               <<: *functest-kubernetes-jobs
897             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
898               <<: *functest-kubernetes-jobs
899             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
900               <<: *functest-kubernetes-jobs
901       - multijob:
902           name: remove dependency
903           projects:
904             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
905               <<: *functest-kubernetes-jobs
906       - multijob:
907           name: pull dependency
908           projects:
909             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
910               <<: *functest-kubernetes-jobs
911       - multijob:
912           name: build opnfv/functest-kubernetes-core
913           projects:
914             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
915               <<: *functest-kubernetes-jobs
916       - multijob:
917           name: build containers
918           projects:
919             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
920               <<: *functest-kubernetes-jobs
921             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
922               <<: *functest-kubernetes-jobs
923             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
924               <<: *functest-kubernetes-jobs
925       - multijob:
926           name: build opnfv/functest-kubernetes-smoke
927           projects:
928             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
929               <<: *functest-kubernetes-jobs
930       - multijob:
931           name: build opnfv/functest-kubernetes-benchmarking
932           projects:
933             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
934               <<: *functest-kubernetes-jobs
935       - multijob:
936           name: opnfv/functest-kubernetes-healthcheck:{tag}
937           projects:
938             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
939               <<: *functest-kubernetes-jobs
940             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
941               <<: *functest-kubernetes-jobs
942       - multijob:
943           name: opnfv/functest-kubernetes-smoke:{tag}
944           execution-type: SEQUENTIALLY
945           projects:
946             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
947               <<: *functest-kubernetes-jobs
948             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_io-run'
949               <<: *functest-kubernetes-jobs
950             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
951               <<: *functest-kubernetes-jobs
952             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
953               <<: *functest-kubernetes-jobs
954             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
955               <<: *functest-kubernetes-jobs
956             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
957               <<: *functest-kubernetes-jobs
958             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
959               <<: *functest-kubernetes-jobs
960             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
961               <<: *functest-kubernetes-jobs
962             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
963               <<: *functest-kubernetes-jobs
964             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli-run'
965               <<: *functest-kubernetes-jobs
966             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli_serial-run'
967               <<: *functest-kubernetes-jobs
968             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
969               <<: *functest-kubernetes-jobs
970             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
971               <<: *functest-kubernetes-jobs
972             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
973               <<: *functest-kubernetes-jobs
974             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
975               <<: *functest-kubernetes-jobs
976             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
977               <<: *functest-kubernetes-jobs
978             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
979               <<: *functest-kubernetes-jobs
980             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
981               <<: *functest-kubernetes-jobs
982       - multijob:
983           name: opnfv/functest-kubernetes-security:{tag}
984           projects:
985             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
986               <<: *functest-kubernetes-jobs
987             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
988               <<: *functest-kubernetes-jobs
989             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
990               <<: *functest-kubernetes-jobs
991       - multijob:
992           name: opnfv/functest-kubernetes-benchmarking:{tag}
993           projects:
994             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
995               <<: *functest-kubernetes-jobs
996             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
997               <<: *functest-kubernetes-jobs
998       - multijob:
999           name: opnfv/functest-kubernetes-cnf:{tag}
1000           projects:
1001             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
1002               <<: *functest-kubernetes-jobs
1003             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
1004               <<: *functest-kubernetes-jobs
1005             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
1006               <<: *functest-kubernetes-jobs
1007
1008 - project:
1009     name: 'functest-kubernetes-review'
1010     <<: *functest-kubernetes-params
1011     jobs:
1012       - 'functest-kubernetes-{tag}-review'
1013
1014 - view:
1015     name: functest-kubernetes-review
1016     view-type: list
1017     columns:
1018       - status
1019       - weather
1020       - job
1021       - last-success
1022       - last-failure
1023       - last-duration
1024     regex: ^functest-kubernetes-[a-z0-9.]+-review$
1025
1026 - view:
1027     name: functest-kubernetes-tox
1028     view-type: list
1029     columns:
1030       - status
1031       - weather
1032       - job
1033       - last-success
1034       - last-failure
1035       - last-duration
1036     regex: ^functest-kubernetes-[a-z0-9.]+-tox$
1037
1038 - builder:
1039     name: functest-kubernetes-push-containers
1040     builders:
1041       - shell: |
1042           set +x
1043           if [ "{repo}" = "_" ]; then
1044             image={container}:{tag}
1045           elif [ "{port}" = "None" ]; then
1046             image={repo}/{container}:{tag}
1047           else
1048             image={repo}:{port}/{container}:{tag}
1049           fi
1050           docker push $image
1051
1052 - trigger:
1053     name: functest-kubernetes-commit
1054     triggers:
1055       - pollscm:
1056           cron: "*/30 * * * *"
1057
1058 - job-template:
1059     name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
1060     parameters:
1061       - functest-kubernetes-slave:
1062           slave: '{slave}'
1063     scm:
1064       - functest-kubernetes-scm:
1065           ref: '{branch}'
1066     builders:
1067       - functest-kubernetes-build-containers:
1068           <<: *functest-kubernetes-build-containers
1069           ref: '{branch}'
1070           buildargs: '{buildargs}'
1071       - functest-kubernetes-push-containers:
1072           <<: *functest-kubernetes-build-containers
1073           ref: '{branch}'
1074
1075 - project:
1076     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
1077     <<: *functest-kubernetes-params
1078     container: functest-kubernetes-core
1079     ref_arg: BRANCH
1080     path: docker/core
1081     jobs:
1082       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1083
1084 - project:
1085     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
1086     <<: *functest-kubernetes-params
1087     container: functest-kubernetes-healthcheck
1088     ref_arg:
1089     path: docker/healthcheck
1090     jobs:
1091       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1092
1093 - project:
1094     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
1095     <<: *functest-kubernetes-params
1096     container: functest-kubernetes-cnf
1097     ref_arg: BRANCH
1098     path: docker/cnf
1099     jobs:
1100       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1101
1102 - project:
1103     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
1104     <<: *functest-kubernetes-params
1105     container: functest-kubernetes-security
1106     ref_arg: BRANCH
1107     path: docker/security
1108     jobs:
1109       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1110
1111 - project:
1112     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
1113     <<: *functest-kubernetes-params
1114     container: functest-kubernetes-smoke
1115     ref_arg:
1116     path: docker/smoke
1117     jobs:
1118       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1119
1120 - project:
1121     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
1122     <<: *functest-kubernetes-params
1123     container: functest-kubernetes-benchmarking
1124     ref_arg:
1125     path: docker/benchmarking
1126     jobs:
1127       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1128
1129 - job-template:
1130     name: 'functest-kubernetes-{tag}-docker'
1131     project-type: multijob
1132     triggers:
1133       - functest-kubernetes-commit
1134     scm:
1135       - functest-kubernetes-scm:
1136           ref: '{branch}'
1137     parameters:
1138       - functest-kubernetes-slave:
1139           slave: '{slave}'
1140     # PyYAML and yamllint differ here
1141     # see https://github.com/yaml/pyyaml/issues/234
1142     # yamllint disable rule:indentation
1143     properties:
1144       - build-blocker:
1145           blocking-jobs:
1146           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
1147     # yamllint enable rule:indentation
1148     builders:
1149       - multijob:
1150           name: remove dependency
1151           projects:
1152             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
1153               <<: *functest-kubernetes-jobs
1154       - multijob:
1155           name: pull dependency
1156           projects:
1157             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
1158               <<: *functest-kubernetes-jobs
1159       - multijob:
1160           name: build opnfv/functest-kubernetes-core
1161           projects:
1162             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1163               <<: *functest-kubernetes-jobs
1164       - multijob:
1165           name: build containers
1166           projects:
1167             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1168               <<: *functest-kubernetes-jobs
1169             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1170               <<: *functest-kubernetes-jobs
1171             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1172               <<: *functest-kubernetes-jobs
1173       - multijob:
1174           name: build opnfv/functest-kubernetes-smoke
1175           projects:
1176             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1177               <<: *functest-kubernetes-jobs
1178       - multijob:
1179           name: build opnfv/functest-kubernetes-benchmarking
1180           projects:
1181             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1182               <<: *functest-kubernetes-jobs
1183
1184 - builder:
1185     name: functest-kubernetes-trivy
1186     builders:
1187       - shell: |
1188           apt-get update && DEBIAN_FRONTEND=noninteractive \
1189           apt-get install curl -y
1190
1191           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1192           if [ "{repo}" = "_" ]; then
1193             image={container}:{tag}
1194           elif [ "{port}" = "None" ]; then
1195             image={repo}/{container}:{tag}
1196           else
1197             image={repo}:{port}/{container}:{tag}
1198           fi
1199           ./trivy --exit-code 1 $image
1200
1201 - job-template:
1202     name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1203     triggers:
1204       - timed: '@weekly'
1205     parameters:
1206       - functest-kubernetes-slave:
1207           slave: '{slave}'
1208     builders:
1209       - functest-kubernetes-trivy:
1210           <<: *functest-kubernetes-containers
1211
1212 - project:
1213     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1214     <<: *functest-kubernetes-params
1215     container: 'functest-kubernetes-core'
1216     jobs:
1217       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1218
1219 - project:
1220     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1221     <<: *functest-kubernetes-params
1222     container: 'functest-kubernetes-healthcheck'
1223     jobs:
1224       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1225
1226 - project:
1227     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1228     <<: *functest-kubernetes-params
1229     container: 'functest-kubernetes-cnf'
1230     jobs:
1231       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1232
1233 - project:
1234     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1235     <<: *functest-kubernetes-params
1236     container: 'functest-kubernetes-security'
1237     jobs:
1238       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1239
1240 - project:
1241     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1242     <<: *functest-kubernetes-params
1243     container: 'functest-kubernetes-smoke'
1244     jobs:
1245       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1246
1247 - project:
1248     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1249     <<: *functest-kubernetes-params
1250     container: 'functest-kubernetes-benchmarking'
1251     jobs:
1252       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1253
1254 - project:
1255     name: 'functest-kubernetes'
1256     <<: *functest-kubernetes-params
1257     jobs:
1258       - 'functest-kubernetes-{tag}-docker'
1259
1260 - view:
1261     name: functest-kubernetes-docker
1262     view-type: list
1263     columns:
1264       - status
1265       - weather
1266       - job
1267       - last-success
1268       - last-failure
1269       - last-duration
1270     regex: ^functest-kubernetes-[a-z0-9.]+-docker$
1271
1272 - view:
1273     name: functest-kubernetes-trivy
1274     view-type: list
1275     columns:
1276       - status
1277       - weather
1278       - job
1279       - last-success
1280       - last-failure
1281       - last-duration
1282     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$