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