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