201cb813c16d88c4daccee73884cd4ef14a46b8a
[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     publishers:
611       - email:
612           recipients: cedric.ollivier@orange.com
613
614 - project:
615     name: 'functest-kubernetes-daily'
616     <<: *functest-kubernetes-params
617     jobs:
618       - 'functest-kubernetes-{tag}-daily'
619
620 - view:
621     name: functest-kubernetes
622     view-type: list
623     columns:
624       - status
625       - weather
626       - job
627       - last-success
628       - last-failure
629       - last-duration
630     regex: ^functest-kubernetes-[a-z0-9.]+-daily$
631
632 - functest-kubernetes-build-containers: &functest-kubernetes-build-containers
633     name: 'functest-kubernetes-build-containers'
634     <<: *functest-kubernetes-containers
635     ref_arg: '{ref_arg}'
636     path: '{path}'
637     build_args: '{build_args}'
638     from: '{from}'
639
640 - builder:
641     name: functest-kubernetes-build-containers
642     builders:
643       - shell: |
644           set +x
645           if [ "{repo}" = "_" ]; then
646             image={container}:{tag}
647           elif [ "{port}" = "None" ]; then
648             image={repo}/{container}:{tag}
649           else
650             image={repo}:{port}/{container}:{tag}
651           fi
652           build_args=""
653           if [ "{build_args}" != "None" ]; then
654             for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
655               do build_args="--build-arg $i $build_args"; done
656           fi
657           if [ "{ref_arg}" != "None" ]; then
658             build_args="$build_args --build-arg {ref_arg}={ref}"
659           fi
660           cd {path}
661           if [ "{from}" != "None" ]; then
662               sed -i {from} Dockerfile
663           fi
664           docker build $build_args \
665             --pull=false --no-cache --force-rm=true \
666             -t $image .
667
668 - scm:
669     name: functest-kubernetes-scm
670     scm:
671       - git:
672           url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
673           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
674           branches:
675             - '{ref}'
676
677 - functest-kubernetes-dep: &functest-kubernetes-dep
678     name: 'functest-kubernetes-containers'
679     repo: '{repo}'
680     port: '{port}'
681     tag: '{tag}'
682     dependency: '{dependency}'
683
684 - builder:
685     name: functest-kubernetes-pull-dep-images
686     builders:
687       - shell: |
688           set +x
689           if [ "_" = "_" ]; then
690             image=alpine:{dependency}
691           elif [ "None" = "None" ]; then
692             image=_/alpine:{dependency}
693           else
694             image=_:/alpine:{dependency}
695           fi
696           docker pull $image || true
697
698 - builder:
699     name: functest-kubernetes-remove-dep-images
700     builders:
701       - shell: |
702           set +x
703           if [ "_" = "_" ]; then
704             image=alpine:{dependency}
705           elif [ "" = "None" ]; then
706             image=_/alpine:{dependency}
707           else
708             image=_:/alpine:{dependency}
709           fi
710           docker rmi $image || true
711
712 - job-template:
713     name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
714     parameters:
715       - functest-kubernetes-slave:
716           slave: '{slave}'
717     builders:
718       - functest-kubernetes-pull-dep-images:
719           <<: *functest-kubernetes-dep
720
721 - project:
722     name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
723     <<: *functest-kubernetes-params
724     jobs:
725       - 'functest-kubernetes-{repo}-{tag}-dep-pull'
726
727 - job-template:
728     name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
729     parameters:
730       - functest-kubernetes-slave:
731           slave: '{slave}'
732     builders:
733       - functest-kubernetes-remove-dep-images:
734           <<: *functest-kubernetes-dep
735
736 - project:
737     name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
738     <<: *functest-kubernetes-params
739     jobs:
740       - 'functest-kubernetes-{repo}-{tag}-dep-rmi'
741
742 - builder:
743     name: functest-kubernetes-tox
744     builders:
745       - shell: |
746           set +x
747           apt-get update && \
748           DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
749           DEBIAN_FRONTEND=noninteractive \
750           apt-get install software-properties-common gpg -y
751           add-apt-repository -y ppa:deadsnakes/ppa
752           apt-get update && DEBIAN_FRONTEND=noninteractive \
753           apt-get install \
754             python3.9 python3.9-dev python3.9-distutils \
755             python3.8 python3.8-dev python3.8-distutils \
756             python3.7 python3.7-dev python3.6 python3.6-dev \
757             python python-dev python3-pip enchant -y
758           pip3 install tox tox-pip-version
759
760           tox
761
762 - job-template:
763     name: 'functest-kubernetes-{tag}-tox'
764     scm:
765       - functest-kubernetes-scm:
766           ref: $GERRIT_REFSPEC
767     triggers:
768       - functest-kubernetes-patchset-created:
769           branch: '{branch}'
770     parameters:
771       - functest-kubernetes-slave:
772           slave: '{slave}'
773     builders:
774       - functest-kubernetes-tox:
775
776 - project:
777     name: functest-kubernetes-tox
778     <<: *functest-kubernetes-params
779     jobs:
780       - 'functest-kubernetes-{tag}-tox'
781
782 - job-template:
783     name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
784     parameters:
785       - functest-kubernetes-slave:
786           slave: '{slave}'
787     scm:
788       - functest-kubernetes-scm:
789           ref: $GERRIT_REFSPEC
790     builders:
791       - functest-kubernetes-build-containers:
792           <<: *functest-kubernetes-build-containers
793           ref: $GERRIT_REFSPEC
794           build_args: '{build_args}'
795
796 - project:
797     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate
798     <<: *functest-kubernetes-params
799     container: functest-kubernetes-core
800     ref_arg: BRANCH
801     path: docker/core
802     jobs:
803       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
804
805 - project:
806     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate
807     <<: *functest-kubernetes-params
808     container: functest-kubernetes-healthcheck
809     ref_arg:
810     path: docker/healthcheck
811     jobs:
812       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
813
814 - project:
815     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate
816     <<: *functest-kubernetes-params
817     container: functest-kubernetes-cnf
818     ref_arg: BRANCH
819     path: docker/cnf
820     jobs:
821       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
822
823 - project:
824     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate
825     <<: *functest-kubernetes-params
826     container: functest-kubernetes-security
827     ref_arg: BRANCH
828     path: docker/security
829     jobs:
830       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
831
832 - project:
833     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate
834     <<: *functest-kubernetes-params
835     container: functest-kubernetes-smoke
836     ref_arg:
837     path: docker/smoke
838     jobs:
839       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
840
841 - project:
842     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate
843     <<: *functest-kubernetes-params
844     container: functest-kubernetes-benchmarking
845     ref_arg:
846     path: docker/benchmarking
847     jobs:
848       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
849
850 - trigger:
851     name: functest-kubernetes-patchset-created
852     triggers:
853       - gerrit:
854           trigger-on:
855             - patchset-created-event
856             - comment-added-contains-event:
857                 comment-contains-value: 'recheck'
858             - comment-added-contains-event:
859                 comment-contains-value: 'reverify'
860           projects:
861             - project-compare-type: 'ANT'
862               project-pattern: 'functest-kubernetes'
863               branches:
864                 - branch-compare-type: 'ANT'
865                   branch-pattern: '**/{branch}'
866
867 - job-template:
868     name: 'functest-kubernetes-{tag}-review'
869     project-type: multijob
870     triggers:
871       - functest-kubernetes-patchset-created:
872           branch: '{branch}'
873     parameters:
874       - functest-kubernetes-slave:
875           slave: '{slave}'
876       - functest-kubernetes-build_tag:
877           build_tag: ''
878       - functest-kubernetes-DEPLOY_SCENARIO:
879           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
880       - functest-kubernetes-E2E_TEST_OPTS:
881           E2E_TEST_OPTS: container-runtime:containerd
882     # PyYAML and yamllint differ here
883     # see https://github.com/yaml/pyyaml/issues/234
884     # yamllint disable rule:indentation
885     properties:
886       - build-blocker:
887           blocking-jobs:
888           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
889     # yamllint enable rule:indentation
890     builders:
891       - multijob:
892           name: remove former images
893           projects:
894             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
895               <<: *functest-kubernetes-jobs
896             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
897               <<: *functest-kubernetes-jobs
898             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
899               <<: *functest-kubernetes-jobs
900             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
901               <<: *functest-kubernetes-jobs
902             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
903               <<: *functest-kubernetes-jobs
904       - multijob:
905           name: remove dependency
906           projects:
907             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
908               <<: *functest-kubernetes-jobs
909       - multijob:
910           name: pull dependency
911           projects:
912             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
913               <<: *functest-kubernetes-jobs
914       - multijob:
915           name: build opnfv/functest-kubernetes-core
916           projects:
917             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
918               <<: *functest-kubernetes-jobs
919       - multijob:
920           name: build containers
921           projects:
922             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
923               <<: *functest-kubernetes-jobs
924             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
925               <<: *functest-kubernetes-jobs
926             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
927               <<: *functest-kubernetes-jobs
928       - multijob:
929           name: build opnfv/functest-kubernetes-smoke
930           projects:
931             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
932               <<: *functest-kubernetes-jobs
933       - multijob:
934           name: build opnfv/functest-kubernetes-benchmarking
935           projects:
936             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
937               <<: *functest-kubernetes-jobs
938       - multijob:
939           name: opnfv/functest-kubernetes-healthcheck:{tag}
940           projects:
941             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
942               <<: *functest-kubernetes-jobs
943             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
944               <<: *functest-kubernetes-jobs
945       - multijob:
946           name: opnfv/functest-kubernetes-smoke:{tag}
947           execution-type: SEQUENTIALLY
948           projects:
949             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
950               <<: *functest-kubernetes-jobs
951             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_io-run'
952               <<: *functest-kubernetes-jobs
953             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
954               <<: *functest-kubernetes-jobs
955             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
956               <<: *functest-kubernetes-jobs
957             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
958               <<: *functest-kubernetes-jobs
959             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
960               <<: *functest-kubernetes-jobs
961             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
962               <<: *functest-kubernetes-jobs
963             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
964               <<: *functest-kubernetes-jobs
965             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
966               <<: *functest-kubernetes-jobs
967             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
968               <<: *functest-kubernetes-jobs
969             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
970               <<: *functest-kubernetes-jobs
971             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
972               <<: *functest-kubernetes-jobs
973             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
974               <<: *functest-kubernetes-jobs
975             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
976               <<: *functest-kubernetes-jobs
977             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
978               <<: *functest-kubernetes-jobs
979             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
980               <<: *functest-kubernetes-jobs
981       - multijob:
982           name: opnfv/functest-kubernetes-security:{tag}
983           projects:
984             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
985               <<: *functest-kubernetes-jobs
986             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
987               <<: *functest-kubernetes-jobs
988             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
989               <<: *functest-kubernetes-jobs
990       - multijob:
991           name: opnfv/functest-kubernetes-benchmarking:{tag}
992           projects:
993             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
994               <<: *functest-kubernetes-jobs
995             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
996               <<: *functest-kubernetes-jobs
997       - multijob:
998           name: opnfv/functest-kubernetes-cnf:{tag}
999           projects:
1000             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
1001               <<: *functest-kubernetes-jobs
1002             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
1003               <<: *functest-kubernetes-jobs
1004             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
1005               <<: *functest-kubernetes-jobs
1006     publishers:
1007       - email:
1008           recipients: cedric.ollivier@orange.com
1009
1010 - project:
1011     name: 'functest-kubernetes-review'
1012     <<: *functest-kubernetes-params
1013     jobs:
1014       - 'functest-kubernetes-{tag}-review'
1015
1016 - view:
1017     name: functest-kubernetes-review
1018     view-type: list
1019     columns:
1020       - status
1021       - weather
1022       - job
1023       - last-success
1024       - last-failure
1025       - last-duration
1026     regex: ^functest-kubernetes-[a-z0-9.]+-review$
1027
1028 - view:
1029     name: functest-kubernetes-tox
1030     view-type: list
1031     columns:
1032       - status
1033       - weather
1034       - job
1035       - last-success
1036       - last-failure
1037       - last-duration
1038     regex: ^functest-kubernetes-[a-z0-9.]+-tox$
1039
1040 - builder:
1041     name: functest-kubernetes-push-containers
1042     builders:
1043       - shell: |
1044           set +x
1045           if [ "{repo}" = "_" ]; then
1046             image={container}:{tag}
1047           elif [ "{port}" = "None" ]; then
1048             image={repo}/{container}:{tag}
1049           else
1050             image={repo}:{port}/{container}:{tag}
1051           fi
1052           docker push $image
1053
1054 - trigger:
1055     name: functest-kubernetes-commit
1056     triggers:
1057       - pollscm:
1058           cron: "*/30 * * * *"
1059
1060 - job-template:
1061     name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
1062     parameters:
1063       - functest-kubernetes-slave:
1064           slave: '{slave}'
1065     scm:
1066       - functest-kubernetes-scm:
1067           ref: '{branch}'
1068     builders:
1069       - functest-kubernetes-build-containers:
1070           <<: *functest-kubernetes-build-containers
1071           ref: '{branch}'
1072           build_args: '{build_args}'
1073       - functest-kubernetes-push-containers:
1074           <<: *functest-kubernetes-build-containers
1075           ref: '{branch}'
1076
1077 - project:
1078     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
1079     <<: *functest-kubernetes-params
1080     container: functest-kubernetes-core
1081     ref_arg: BRANCH
1082     path: docker/core
1083     jobs:
1084       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1085
1086 - project:
1087     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
1088     <<: *functest-kubernetes-params
1089     container: functest-kubernetes-healthcheck
1090     ref_arg:
1091     path: docker/healthcheck
1092     jobs:
1093       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1094
1095 - project:
1096     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
1097     <<: *functest-kubernetes-params
1098     container: functest-kubernetes-cnf
1099     ref_arg: BRANCH
1100     path: docker/cnf
1101     jobs:
1102       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1103
1104 - project:
1105     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
1106     <<: *functest-kubernetes-params
1107     container: functest-kubernetes-security
1108     ref_arg: BRANCH
1109     path: docker/security
1110     jobs:
1111       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1112
1113 - project:
1114     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
1115     <<: *functest-kubernetes-params
1116     container: functest-kubernetes-smoke
1117     ref_arg:
1118     path: docker/smoke
1119     jobs:
1120       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1121
1122 - project:
1123     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
1124     <<: *functest-kubernetes-params
1125     container: functest-kubernetes-benchmarking
1126     ref_arg:
1127     path: docker/benchmarking
1128     jobs:
1129       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1130
1131 - job-template:
1132     name: 'functest-kubernetes-{tag}-docker'
1133     project-type: multijob
1134     triggers:
1135       - functest-kubernetes-commit
1136     scm:
1137       - functest-kubernetes-scm:
1138           ref: '{branch}'
1139     parameters:
1140       - functest-kubernetes-slave:
1141           slave: '{slave}'
1142     # PyYAML and yamllint differ here
1143     # see https://github.com/yaml/pyyaml/issues/234
1144     # yamllint disable rule:indentation
1145     properties:
1146       - build-blocker:
1147           blocking-jobs:
1148           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
1149     # yamllint enable rule:indentation
1150     builders:
1151       - multijob:
1152           name: remove dependency
1153           projects:
1154             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
1155               <<: *functest-kubernetes-jobs
1156       - multijob:
1157           name: pull dependency
1158           projects:
1159             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
1160               <<: *functest-kubernetes-jobs
1161       - multijob:
1162           name: build opnfv/functest-kubernetes-core
1163           projects:
1164             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1165               <<: *functest-kubernetes-jobs
1166       - multijob:
1167           name: build containers
1168           projects:
1169             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1170               <<: *functest-kubernetes-jobs
1171             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1172               <<: *functest-kubernetes-jobs
1173             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1174               <<: *functest-kubernetes-jobs
1175       - multijob:
1176           name: build opnfv/functest-kubernetes-smoke
1177           projects:
1178             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1179               <<: *functest-kubernetes-jobs
1180       - multijob:
1181           name: build opnfv/functest-kubernetes-benchmarking
1182           projects:
1183             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1184               <<: *functest-kubernetes-jobs
1185     publishers:
1186       - email:
1187           recipients: cedric.ollivier@orange.com
1188
1189 - builder:
1190     name: functest-kubernetes-trivy
1191     builders:
1192       - shell: |
1193           apt-get update && DEBIAN_FRONTEND=noninteractive \
1194           apt-get install curl -y
1195
1196           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1197           if [ "{repo}" = "_" ]; then
1198             image={container}:{tag}
1199           elif [ "{port}" = "None" ]; then
1200             image={repo}/{container}:{tag}
1201           else
1202             image={repo}:{port}/{container}:{tag}
1203           fi
1204           ./trivy --exit-code 1 $image
1205
1206 - job-template:
1207     name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1208     triggers:
1209       - timed: '@weekly'
1210     parameters:
1211       - functest-kubernetes-slave:
1212           slave: '{slave}'
1213     builders:
1214       - functest-kubernetes-trivy:
1215           <<: *functest-kubernetes-containers
1216     publishers:
1217       - email:
1218           recipients: cedric.ollivier@orange.com
1219
1220 - project:
1221     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1222     <<: *functest-kubernetes-params
1223     container: 'functest-kubernetes-core'
1224     jobs:
1225       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1226
1227 - project:
1228     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1229     <<: *functest-kubernetes-params
1230     container: 'functest-kubernetes-healthcheck'
1231     jobs:
1232       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1233
1234 - project:
1235     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1236     <<: *functest-kubernetes-params
1237     container: 'functest-kubernetes-cnf'
1238     jobs:
1239       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1240
1241 - project:
1242     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1243     <<: *functest-kubernetes-params
1244     container: 'functest-kubernetes-security'
1245     jobs:
1246       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1247
1248 - project:
1249     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1250     <<: *functest-kubernetes-params
1251     container: 'functest-kubernetes-smoke'
1252     jobs:
1253       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1254
1255 - project:
1256     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1257     <<: *functest-kubernetes-params
1258     container: 'functest-kubernetes-benchmarking'
1259     jobs:
1260       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1261
1262 - project:
1263     name: 'functest-kubernetes'
1264     <<: *functest-kubernetes-params
1265     jobs:
1266       - 'functest-kubernetes-{tag}-docker'
1267
1268 - view:
1269     name: functest-kubernetes-docker
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-[a-z0-9.]+-docker$
1279
1280 - view:
1281     name: functest-kubernetes-trivy
1282     view-type: list
1283     columns:
1284       - status
1285       - weather
1286       - job
1287       - last-success
1288       - last-failure
1289       - last-duration
1290     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$