Updates ca-certificates in all tox jobs
[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 && \
745           DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
746           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           build_args: '{build_args}'
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_cluster_lifecycle-run'
965               <<: *functest-kubernetes-jobs
966             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
967               <<: *functest-kubernetes-jobs
968             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
969               <<: *functest-kubernetes-jobs
970             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
971               <<: *functest-kubernetes-jobs
972             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
973               <<: *functest-kubernetes-jobs
974             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
975               <<: *functest-kubernetes-jobs
976             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
977               <<: *functest-kubernetes-jobs
978       - multijob:
979           name: opnfv/functest-kubernetes-security:{tag}
980           projects:
981             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
982               <<: *functest-kubernetes-jobs
983             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
984               <<: *functest-kubernetes-jobs
985             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
986               <<: *functest-kubernetes-jobs
987       - multijob:
988           name: opnfv/functest-kubernetes-benchmarking:{tag}
989           projects:
990             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
991               <<: *functest-kubernetes-jobs
992             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
993               <<: *functest-kubernetes-jobs
994       - multijob:
995           name: opnfv/functest-kubernetes-cnf:{tag}
996           projects:
997             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
998               <<: *functest-kubernetes-jobs
999             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
1000               <<: *functest-kubernetes-jobs
1001             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
1002               <<: *functest-kubernetes-jobs
1003
1004 - project:
1005     name: 'functest-kubernetes-review'
1006     <<: *functest-kubernetes-params
1007     jobs:
1008       - 'functest-kubernetes-{tag}-review'
1009
1010 - view:
1011     name: functest-kubernetes-review
1012     view-type: list
1013     columns:
1014       - status
1015       - weather
1016       - job
1017       - last-success
1018       - last-failure
1019       - last-duration
1020     regex: ^functest-kubernetes-[a-z0-9.]+-review$
1021
1022 - view:
1023     name: functest-kubernetes-tox
1024     view-type: list
1025     columns:
1026       - status
1027       - weather
1028       - job
1029       - last-success
1030       - last-failure
1031       - last-duration
1032     regex: ^functest-kubernetes-[a-z0-9.]+-tox$
1033
1034 - builder:
1035     name: functest-kubernetes-push-containers
1036     builders:
1037       - shell: |
1038           set +x
1039           if [ "{repo}" = "_" ]; then
1040             image={container}:{tag}
1041           elif [ "{port}" = "None" ]; then
1042             image={repo}/{container}:{tag}
1043           else
1044             image={repo}:{port}/{container}:{tag}
1045           fi
1046           docker push $image
1047
1048 - trigger:
1049     name: functest-kubernetes-commit
1050     triggers:
1051       - pollscm:
1052           cron: "*/30 * * * *"
1053
1054 - job-template:
1055     name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
1056     parameters:
1057       - functest-kubernetes-slave:
1058           slave: '{slave}'
1059     scm:
1060       - functest-kubernetes-scm:
1061           ref: '{branch}'
1062     builders:
1063       - functest-kubernetes-build-containers:
1064           <<: *functest-kubernetes-build-containers
1065           ref: '{branch}'
1066           build_args: '{build_args}'
1067       - functest-kubernetes-push-containers:
1068           <<: *functest-kubernetes-build-containers
1069           ref: '{branch}'
1070
1071 - project:
1072     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
1073     <<: *functest-kubernetes-params
1074     container: functest-kubernetes-core
1075     ref_arg: BRANCH
1076     path: docker/core
1077     jobs:
1078       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1079
1080 - project:
1081     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
1082     <<: *functest-kubernetes-params
1083     container: functest-kubernetes-healthcheck
1084     ref_arg:
1085     path: docker/healthcheck
1086     jobs:
1087       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1088
1089 - project:
1090     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
1091     <<: *functest-kubernetes-params
1092     container: functest-kubernetes-cnf
1093     ref_arg: BRANCH
1094     path: docker/cnf
1095     jobs:
1096       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1097
1098 - project:
1099     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
1100     <<: *functest-kubernetes-params
1101     container: functest-kubernetes-security
1102     ref_arg: BRANCH
1103     path: docker/security
1104     jobs:
1105       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1106
1107 - project:
1108     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
1109     <<: *functest-kubernetes-params
1110     container: functest-kubernetes-smoke
1111     ref_arg:
1112     path: docker/smoke
1113     jobs:
1114       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1115
1116 - project:
1117     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
1118     <<: *functest-kubernetes-params
1119     container: functest-kubernetes-benchmarking
1120     ref_arg:
1121     path: docker/benchmarking
1122     jobs:
1123       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1124
1125 - job-template:
1126     name: 'functest-kubernetes-{tag}-docker'
1127     project-type: multijob
1128     triggers:
1129       - functest-kubernetes-commit
1130     scm:
1131       - functest-kubernetes-scm:
1132           ref: '{branch}'
1133     parameters:
1134       - functest-kubernetes-slave:
1135           slave: '{slave}'
1136     # PyYAML and yamllint differ here
1137     # see https://github.com/yaml/pyyaml/issues/234
1138     # yamllint disable rule:indentation
1139     properties:
1140       - build-blocker:
1141           blocking-jobs:
1142           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
1143     # yamllint enable rule:indentation
1144     builders:
1145       - multijob:
1146           name: remove dependency
1147           projects:
1148             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
1149               <<: *functest-kubernetes-jobs
1150       - multijob:
1151           name: pull dependency
1152           projects:
1153             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
1154               <<: *functest-kubernetes-jobs
1155       - multijob:
1156           name: build opnfv/functest-kubernetes-core
1157           projects:
1158             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1159               <<: *functest-kubernetes-jobs
1160       - multijob:
1161           name: build containers
1162           projects:
1163             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1164               <<: *functest-kubernetes-jobs
1165             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1166               <<: *functest-kubernetes-jobs
1167             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1168               <<: *functest-kubernetes-jobs
1169       - multijob:
1170           name: build opnfv/functest-kubernetes-smoke
1171           projects:
1172             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1173               <<: *functest-kubernetes-jobs
1174       - multijob:
1175           name: build opnfv/functest-kubernetes-benchmarking
1176           projects:
1177             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1178               <<: *functest-kubernetes-jobs
1179
1180 - builder:
1181     name: functest-kubernetes-trivy
1182     builders:
1183       - shell: |
1184           apt-get update && DEBIAN_FRONTEND=noninteractive \
1185           apt-get install curl -y
1186
1187           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1188           if [ "{repo}" = "_" ]; then
1189             image={container}:{tag}
1190           elif [ "{port}" = "None" ]; then
1191             image={repo}/{container}:{tag}
1192           else
1193             image={repo}:{port}/{container}:{tag}
1194           fi
1195           ./trivy --exit-code 1 $image
1196
1197 - job-template:
1198     name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1199     triggers:
1200       - timed: '@weekly'
1201     parameters:
1202       - functest-kubernetes-slave:
1203           slave: '{slave}'
1204     builders:
1205       - functest-kubernetes-trivy:
1206           <<: *functest-kubernetes-containers
1207
1208 - project:
1209     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1210     <<: *functest-kubernetes-params
1211     container: 'functest-kubernetes-core'
1212     jobs:
1213       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1214
1215 - project:
1216     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1217     <<: *functest-kubernetes-params
1218     container: 'functest-kubernetes-healthcheck'
1219     jobs:
1220       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1221
1222 - project:
1223     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1224     <<: *functest-kubernetes-params
1225     container: 'functest-kubernetes-cnf'
1226     jobs:
1227       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1228
1229 - project:
1230     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1231     <<: *functest-kubernetes-params
1232     container: 'functest-kubernetes-security'
1233     jobs:
1234       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1235
1236 - project:
1237     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1238     <<: *functest-kubernetes-params
1239     container: 'functest-kubernetes-smoke'
1240     jobs:
1241       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1242
1243 - project:
1244     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1245     <<: *functest-kubernetes-params
1246     container: 'functest-kubernetes-benchmarking'
1247     jobs:
1248       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1249
1250 - project:
1251     name: 'functest-kubernetes'
1252     <<: *functest-kubernetes-params
1253     jobs:
1254       - 'functest-kubernetes-{tag}-docker'
1255
1256 - view:
1257     name: functest-kubernetes-docker
1258     view-type: list
1259     columns:
1260       - status
1261       - weather
1262       - job
1263       - last-success
1264       - last-failure
1265       - last-duration
1266     regex: ^functest-kubernetes-[a-z0-9.]+-docker$
1267
1268 - view:
1269     name: functest-kubernetes-trivy
1270     view-type: list
1271     columns:
1272       - status
1273       - weather
1274       - job
1275       - last-success
1276       - last-failure
1277       - last-duration
1278     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$