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