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