Apply new env and volume regexes
[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-7
19           dependency: 3.14
20       - v1.21:
21           from:
22           buildargs:
23           branch: stable/v1.21
24           slave: lf-virtual1-6
25           dependency: 3.13
26       - leguer:
27           from:
28           buildargs:
29           branch: stable/leguer
30           slave: lf-virtual1-5
31           dependency: 3.12
32       - kali:
33           from:
34           buildargs:
35           branch: stable/kali
36           slave: lf-virtual1-4
37           dependency: 3.11
38
39 - functest-kubernetes-jobs: &functest-kubernetes-jobs
40     name: 'functest-kubernetes-jobs'
41     current-parameters: true
42
43 - parameter:
44     name: functest-kubernetes-slave
45     parameters:
46       - label:
47           name: slave
48           default: '{slave}'
49
50 - parameter:
51     name: functest-kubernetes-build_tag
52     parameters:
53       - random-string:
54           name: build_tag
55
56 - parameter:
57     name: functest-kubernetes-DEPLOY_SCENARIO
58     parameters:
59       - string:
60           name: DEPLOY_SCENARIO
61           default: k8-nosdn-nofeature-noha
62
63 - parameter:
64     name: functest-kubernetes-E2E_TEST_OPTS
65     parameters:
66       - string:
67           name: E2E_TEST_OPTS
68           default: container-runtime:containerd
69
70 - functest-kubernetes-run-containers: &functest-kubernetes-run-containers
71     name: 'functest-kubernetes-run-containers'
72     <<: *functest-kubernetes-containers
73     test: '{test}'
74     privileged: '{privileged}'
75     volumes: '{volumes}'
76     env: '{env}'
77     network: '{network}'
78
79 - builder:
80     name: functest-kubernetes-pull-containers
81     builders:
82       - shell: |
83           set +x
84           if [ "{repo}" = "_" ]; then
85             image={container}:{tag}
86           elif [ "{port}" = "None" ]; then
87             image={repo}/{container}:{tag}
88           else
89             image={repo}:{port}/{container}:{tag}
90           fi
91           docker pull $image
92
93 - builder:
94     name: functest-kubernetes-run-containers
95     builders:
96       - shell: |
97           set +x
98           volumes=;
99           if [ "{volumes}" != "None" ]; then
100             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); do volumes="-v $i $volumes"; done
101           fi
102           env=;
103           if [ "{env}" != "None" ]; then
104             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); do env="-e $i $env"; done
105           fi
106           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
107           if [ "{repo}" = "_" ]; then
108             image={container}:{tag}
109           elif [ "{port}" = "None" ]; then
110             image={repo}/{container}:{tag}
111           else
112             image={repo}:{port}/{container}:{tag}
113           fi
114           docker run --rm \
115             --privileged={privileged} \
116             --network={network} \
117             $volumes \
118             $env \
119             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
120             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
121             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
122             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
123             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
124             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
125             -e NODE_NAME=$slave \
126             -e BUILD_TAG=$BUILD_TAG \
127             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
128             $image run_tests -t {test} -p -r
129
130 - builder:
131     name: functest-kubernetes-remove-images
132     builders:
133       - shell: |
134           set +x
135           if [ "{repo}" = "_" ]; then
136             image={container}:{tag}
137           elif [ "{port}" = "None" ]; then
138             image={repo}/{container}:{tag}
139           else
140             image={repo}:{port}/{container}:{tag}
141           fi
142           docker rmi $image || true
143
144 - job-template:
145     name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
146     parameters:
147       - functest-kubernetes-slave:
148           slave: '{slave}'
149     builders:
150       - functest-kubernetes-pull-containers:
151           <<: *functest-kubernetes-containers
152
153 - project:
154     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
155     <<: *functest-kubernetes-params
156     container: 'functest-kubernetes-healthcheck'
157     jobs:
158       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
159
160 - project:
161     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
162     <<: *functest-kubernetes-params
163     container: 'functest-kubernetes-smoke'
164     jobs:
165       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
166
167 - project:
168     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
169     <<: *functest-kubernetes-params
170     container: 'functest-kubernetes-security'
171     jobs:
172       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
173
174 - project:
175     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
176     <<: *functest-kubernetes-params
177     container: 'functest-kubernetes-benchmarking'
178     jobs:
179       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
180
181 - project:
182     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
183     <<: *functest-kubernetes-params
184     container: 'functest-kubernetes-cnf'
185     jobs:
186       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
187
188 - job-template:
189     name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
190     parameters:
191       - functest-kubernetes-slave:
192           slave: '{slave}'
193     builders:
194       - functest-kubernetes-remove-images:
195           <<: *functest-kubernetes-containers
196
197 - project:
198     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
199     <<: *functest-kubernetes-params
200     container: 'functest-kubernetes-healthcheck'
201     jobs:
202       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
203
204 - project:
205     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
206     <<: *functest-kubernetes-params
207     container: 'functest-kubernetes-smoke'
208     jobs:
209       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
210
211 - project:
212     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
213     <<: *functest-kubernetes-params
214     container: 'functest-kubernetes-security'
215     jobs:
216       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
217
218 - project:
219     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
220     <<: *functest-kubernetes-params
221     container: 'functest-kubernetes-benchmarking'
222     jobs:
223       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
224
225 - project:
226     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
227     <<: *functest-kubernetes-params
228     container: 'functest-kubernetes-cnf'
229     jobs:
230       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
231
232 - job-template:
233     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
234     parameters:
235       - functest-kubernetes-slave:
236           slave: '{slave}'
237       - functest-kubernetes-build_tag:
238           build_tag: ''
239       - functest-kubernetes-DEPLOY_SCENARIO:
240           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
241       - functest-kubernetes-E2E_TEST_OPTS:
242           E2E_TEST_OPTS: container-runtime:containerd
243     builders:
244       - functest-kubernetes-run-containers:
245           <<: *functest-kubernetes-run-containers
246
247 - project:
248     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
249     <<: *functest-kubernetes-params
250     volumes:
251       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
252     env:
253       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
254       - E2E_TEST_OPTS=$E2E_TEST_OPTS
255     container: 'functest-kubernetes-healthcheck'
256     test:
257       - k8s_quick
258       - k8s_smoke
259     privileged: 'false'
260     network: bridge
261     jobs:
262       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
263
264 - job-template:
265     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
266     parameters:
267       - functest-kubernetes-slave:
268           slave: '{slave}'
269       - functest-kubernetes-build_tag:
270           build_tag: ''
271       - functest-kubernetes-DEPLOY_SCENARIO:
272           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
273       - functest-kubernetes-E2E_TEST_OPTS:
274           E2E_TEST_OPTS: container-runtime:containerd
275     builders:
276       - functest-kubernetes-run-containers:
277           <<: *functest-kubernetes-run-containers
278
279 - project:
280     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
281     <<: *functest-kubernetes-params
282     volumes:
283       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
284     env:
285       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
286       - E2E_TEST_OPTS=$E2E_TEST_OPTS
287     container: 'functest-kubernetes-smoke'
288     test:
289       - xrally_kubernetes
290       - k8s_io
291       - k8s_conformance
292       - k8s_conformance_serial
293       - sig_api_machinery
294       - sig_api_machinery_serial
295       - sig_apps
296       - sig_apps_serial
297       - sig_auth
298       - sig_cli
299       - sig_cli_serial
300       - sig_cluster_lifecycle
301       - sig_instrumentation
302       - sig_network
303       - sig_network_serial
304       - sig_node
305       - sig_scheduling_serial
306       - sig_storage
307       - sig_storage_serial
308     privileged: 'false'
309     network: bridge
310     exclude:
311       - tag: latest
312         test: k8s_io
313       - tag: v1.21
314         test: k8s_io
315     jobs:
316       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
317
318 - job-template:
319     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
320     parameters:
321       - functest-kubernetes-slave:
322           slave: '{slave}'
323       - functest-kubernetes-build_tag:
324           build_tag: ''
325       - functest-kubernetes-DEPLOY_SCENARIO:
326           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
327       - functest-kubernetes-E2E_TEST_OPTS:
328           E2E_TEST_OPTS: container-runtime:containerd
329     builders:
330       - functest-kubernetes-run-containers:
331           <<: *functest-kubernetes-run-containers
332
333 - project:
334     name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
335     <<: *functest-kubernetes-params
336     volumes:
337       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
338     env:
339       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
340       - E2E_TEST_OPTS=$E2E_TEST_OPTS
341     container: 'functest-kubernetes-security'
342     test:
343       - kube_hunter
344       - kube_bench_master
345       - kube_bench_node
346     privileged: 'false'
347     network: bridge
348     jobs:
349       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
350
351 - job-template:
352     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
353     parameters:
354       - functest-kubernetes-slave:
355           slave: '{slave}'
356       - functest-kubernetes-build_tag:
357           build_tag: ''
358       - functest-kubernetes-DEPLOY_SCENARIO:
359           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
360       - functest-kubernetes-E2E_TEST_OPTS:
361           E2E_TEST_OPTS: container-runtime:containerd
362     builders:
363       - functest-kubernetes-run-containers:
364           <<: *functest-kubernetes-run-containers
365
366 - project:
367     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
368     <<: *functest-kubernetes-params
369     volumes:
370       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
371     env:
372       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
373       - E2E_TEST_OPTS=$E2E_TEST_OPTS
374     container: 'functest-kubernetes-benchmarking'
375     test:
376       - xrally_kubernetes_full
377       - netperf
378     privileged: 'false'
379     network: bridge
380     jobs:
381       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
382
383 - job-template:
384     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
385     parameters:
386       - functest-kubernetes-slave:
387           slave: '{slave}'
388       - functest-kubernetes-build_tag:
389           build_tag: ''
390       - functest-kubernetes-DEPLOY_SCENARIO:
391           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
392       - functest-kubernetes-E2E_TEST_OPTS:
393           E2E_TEST_OPTS: container-runtime:containerd
394     builders:
395       - functest-kubernetes-run-containers:
396           <<: *functest-kubernetes-run-containers
397
398 - project:
399     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
400     <<: *functest-kubernetes-params
401     volumes:
402       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
403     env:
404       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
405       - E2E_TEST_OPTS=$E2E_TEST_OPTS
406     container: 'functest-kubernetes-cnf'
407     test:
408       - k8s_vims
409       - helm_vims
410       - cnf_testsuite
411     privileged: 'false'
412     network: bridge
413     jobs:
414       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
415
416 - builder:
417     name: functest-kubernetes-zip
418     builders:
419       - shell: |
420           set +x
421           volumes=;
422           if [ "{volumes}" != "None" ]; then
423             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); do volumes="-v $i $volumes"; done
424           fi
425           env=;
426           if [ "{env}" != "None" ]; then
427             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); do env="-e $i $env"; done
428           fi
429           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
430           if [ "{repo}" = "_" ]; then
431             image={container}:{tag}
432           elif [ "{port}" = "None" ]; then
433             image={repo}/{container}:{tag}
434           else
435             image={repo}:{port}/{container}:{tag}
436           fi
437           docker run --rm \
438             $volumes \
439             $env \
440             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
441             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
442             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
443             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
444             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
445             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
446             -e BUILD_TAG=$BUILD_TAG \
447             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
448             $image zip_campaign
449
450 - job-template:
451     name: 'functest-kubernetes-{tag}-zip'
452     parameters:
453       - functest-kubernetes-slave:
454           slave: '{slave}'
455       - functest-kubernetes-build_tag:
456           build_tag: ''
457       - functest-kubernetes-DEPLOY_SCENARIO:
458           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
459       - functest-kubernetes-E2E_TEST_OPTS:
460           E2E_TEST_OPTS: container-runtime:containerd
461     builders:
462       - functest-kubernetes-zip:
463           <<: *functest-kubernetes-containers
464           volumes: '{volumes}'
465           env: '{env}'
466
467 - project:
468     name: 'functest-kubernetes-{tag}-zip'
469     <<: *functest-kubernetes-params
470     volumes:
471       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
472     env:
473       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
474       - E2E_TEST_OPTS=$E2E_TEST_OPTS
475     container: 'functest-kubernetes-healthcheck'
476     jobs:
477       - 'functest-kubernetes-{tag}-zip'
478
479 - job-template:
480     name: 'functest-kubernetes-{tag}-daily'
481     project-type: multijob
482     triggers:
483       - timed: '@weekly'
484     parameters:
485       - functest-kubernetes-slave:
486           slave: '{slave}'
487       - functest-kubernetes-build_tag:
488           build_tag: ''
489       - functest-kubernetes-DEPLOY_SCENARIO:
490           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
491       - functest-kubernetes-E2E_TEST_OPTS:
492           E2E_TEST_OPTS: container-runtime:containerd
493     # PyYAML and yamllint differ here
494     # see https://github.com/yaml/pyyaml/issues/234
495     # yamllint disable rule:indentation
496     properties:
497       - build-blocker:
498           blocking-jobs:
499           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
500     # yamllint enable rule:indentation
501     builders:
502       - multijob:
503           name: remove former images
504           projects:
505             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
506               <<: *functest-kubernetes-jobs
507             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
508               <<: *functest-kubernetes-jobs
509             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
510               <<: *functest-kubernetes-jobs
511             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
512               <<: *functest-kubernetes-jobs
513             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
514               <<: *functest-kubernetes-jobs
515       - multijob:
516           name: pull containers
517           projects:
518             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
519               <<: *functest-kubernetes-jobs
520             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
521               <<: *functest-kubernetes-jobs
522             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
523               <<: *functest-kubernetes-jobs
524             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
525               <<: *functest-kubernetes-jobs
526             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
527               <<: *functest-kubernetes-jobs
528       - multijob:
529           name: opnfv/functest-kubernetes-healthcheck:{tag}
530           projects:
531             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
532               <<: *functest-kubernetes-jobs
533             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
534               <<: *functest-kubernetes-jobs
535       - multijob:
536           name: opnfv/functest-kubernetes-smoke:{tag}
537           execution-type: SEQUENTIALLY
538           projects:
539             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
540               <<: *functest-kubernetes-jobs
541             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_io-run'
542               <<: *functest-kubernetes-jobs
543             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
544               <<: *functest-kubernetes-jobs
545             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
546               <<: *functest-kubernetes-jobs
547             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
548               <<: *functest-kubernetes-jobs
549             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
550               <<: *functest-kubernetes-jobs
551             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
552               <<: *functest-kubernetes-jobs
553             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
554               <<: *functest-kubernetes-jobs
555             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
556               <<: *functest-kubernetes-jobs
557             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli-run'
558               <<: *functest-kubernetes-jobs
559             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli_serial-run'
560               <<: *functest-kubernetes-jobs
561             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
562               <<: *functest-kubernetes-jobs
563             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
564               <<: *functest-kubernetes-jobs
565             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
566               <<: *functest-kubernetes-jobs
567             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_serial-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_cli-run'
959               <<: *functest-kubernetes-jobs
960             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli_serial-run'
961               <<: *functest-kubernetes-jobs
962             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
963               <<: *functest-kubernetes-jobs
964             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
965               <<: *functest-kubernetes-jobs
966             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
967               <<: *functest-kubernetes-jobs
968             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_serial-run'
969               <<: *functest-kubernetes-jobs
970             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
971               <<: *functest-kubernetes-jobs
972             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
973               <<: *functest-kubernetes-jobs
974             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
975               <<: *functest-kubernetes-jobs
976             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
977               <<: *functest-kubernetes-jobs
978       - multijob:
979           name: opnfv/functest-kubernetes-security:{tag}
980           projects:
981             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
982               <<: *functest-kubernetes-jobs
983             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
984               <<: *functest-kubernetes-jobs
985             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
986               <<: *functest-kubernetes-jobs
987       - multijob:
988           name: opnfv/functest-kubernetes-benchmarking:{tag}
989           projects:
990             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
991               <<: *functest-kubernetes-jobs
992             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
993               <<: *functest-kubernetes-jobs
994       - multijob:
995           name: opnfv/functest-kubernetes-cnf:{tag}
996           projects:
997             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
998               <<: *functest-kubernetes-jobs
999             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
1000               <<: *functest-kubernetes-jobs
1001             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
1002               <<: *functest-kubernetes-jobs
1003
1004 - project:
1005     name: 'functest-kubernetes-review'
1006     <<: *functest-kubernetes-params
1007     jobs:
1008       - 'functest-kubernetes-{tag}-review'
1009
1010 - view:
1011     name: functest-kubernetes-review
1012     view-type: list
1013     columns:
1014       - status
1015       - weather
1016       - job
1017       - last-success
1018       - last-failure
1019       - last-duration
1020     regex: ^functest-kubernetes-[a-z0-9.]+-review$
1021
1022 - view:
1023     name: functest-kubernetes-tox
1024     view-type: list
1025     columns:
1026       - status
1027       - weather
1028       - job
1029       - last-success
1030       - last-failure
1031       - last-duration
1032     regex: ^functest-kubernetes-[a-z0-9.]+-tox$
1033
1034 - builder:
1035     name: functest-kubernetes-push-containers
1036     builders:
1037       - shell: |
1038           set +x
1039           if [ "{repo}" = "_" ]; then
1040             image={container}:{tag}
1041           elif [ "{port}" = "None" ]; then
1042             image={repo}/{container}:{tag}
1043           else
1044             image={repo}:{port}/{container}:{tag}
1045           fi
1046           docker push $image
1047
1048 - trigger:
1049     name: functest-kubernetes-commit
1050     triggers:
1051       - pollscm:
1052           cron: "*/30 * * * *"
1053
1054 - job-template:
1055     name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
1056     parameters:
1057       - functest-kubernetes-slave:
1058           slave: '{slave}'
1059     scm:
1060       - functest-kubernetes-scm:
1061           ref: '{branch}'
1062     builders:
1063       - functest-kubernetes-build-containers:
1064           <<: *functest-kubernetes-build-containers
1065           ref: '{branch}'
1066           buildargs: '{buildargs}'
1067       - functest-kubernetes-push-containers:
1068           <<: *functest-kubernetes-build-containers
1069           ref: '{branch}'
1070
1071 - project:
1072     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
1073     <<: *functest-kubernetes-params
1074     container: functest-kubernetes-core
1075     ref_arg: BRANCH
1076     path: docker/core
1077     jobs:
1078       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1079
1080 - project:
1081     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
1082     <<: *functest-kubernetes-params
1083     container: functest-kubernetes-healthcheck
1084     ref_arg:
1085     path: docker/healthcheck
1086     jobs:
1087       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1088
1089 - project:
1090     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
1091     <<: *functest-kubernetes-params
1092     container: functest-kubernetes-cnf
1093     ref_arg: BRANCH
1094     path: docker/cnf
1095     jobs:
1096       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1097
1098 - project:
1099     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
1100     <<: *functest-kubernetes-params
1101     container: functest-kubernetes-security
1102     ref_arg: BRANCH
1103     path: docker/security
1104     jobs:
1105       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1106
1107 - project:
1108     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
1109     <<: *functest-kubernetes-params
1110     container: functest-kubernetes-smoke
1111     ref_arg:
1112     path: docker/smoke
1113     jobs:
1114       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1115
1116 - project:
1117     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
1118     <<: *functest-kubernetes-params
1119     container: functest-kubernetes-benchmarking
1120     ref_arg:
1121     path: docker/benchmarking
1122     jobs:
1123       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1124
1125 - job-template:
1126     name: 'functest-kubernetes-{tag}-docker'
1127     project-type: multijob
1128     triggers:
1129       - functest-kubernetes-commit
1130     scm:
1131       - functest-kubernetes-scm:
1132           ref: '{branch}'
1133     parameters:
1134       - functest-kubernetes-slave:
1135           slave: '{slave}'
1136     # PyYAML and yamllint differ here
1137     # see https://github.com/yaml/pyyaml/issues/234
1138     # yamllint disable rule:indentation
1139     properties:
1140       - build-blocker:
1141           blocking-jobs:
1142           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
1143     # yamllint enable rule:indentation
1144     builders:
1145       - multijob:
1146           name: remove dependency
1147           projects:
1148             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
1149               <<: *functest-kubernetes-jobs
1150       - multijob:
1151           name: pull dependency
1152           projects:
1153             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
1154               <<: *functest-kubernetes-jobs
1155       - multijob:
1156           name: build opnfv/functest-kubernetes-core
1157           projects:
1158             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1159               <<: *functest-kubernetes-jobs
1160       - multijob:
1161           name: build containers
1162           projects:
1163             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1164               <<: *functest-kubernetes-jobs
1165             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1166               <<: *functest-kubernetes-jobs
1167             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1168               <<: *functest-kubernetes-jobs
1169       - multijob:
1170           name: build opnfv/functest-kubernetes-smoke
1171           projects:
1172             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1173               <<: *functest-kubernetes-jobs
1174       - multijob:
1175           name: build opnfv/functest-kubernetes-benchmarking
1176           projects:
1177             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1178               <<: *functest-kubernetes-jobs
1179
1180 - builder:
1181     name: functest-kubernetes-trivy
1182     builders:
1183       - shell: |
1184           apt-get update && DEBIAN_FRONTEND=noninteractive \
1185           apt-get install curl -y
1186
1187           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1188           if [ "{repo}" = "_" ]; then
1189             image={container}:{tag}
1190           elif [ "{port}" = "None" ]; then
1191             image={repo}/{container}:{tag}
1192           else
1193             image={repo}:{port}/{container}:{tag}
1194           fi
1195           ./trivy --exit-code 1 $image
1196
1197 - job-template:
1198     name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1199     triggers:
1200       - timed: '@weekly'
1201     parameters:
1202       - functest-kubernetes-slave:
1203           slave: '{slave}'
1204     builders:
1205       - functest-kubernetes-trivy:
1206           <<: *functest-kubernetes-containers
1207
1208 - project:
1209     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1210     <<: *functest-kubernetes-params
1211     container: 'functest-kubernetes-core'
1212     jobs:
1213       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1214
1215 - project:
1216     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1217     <<: *functest-kubernetes-params
1218     container: 'functest-kubernetes-healthcheck'
1219     jobs:
1220       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1221
1222 - project:
1223     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1224     <<: *functest-kubernetes-params
1225     container: 'functest-kubernetes-cnf'
1226     jobs:
1227       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1228
1229 - project:
1230     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1231     <<: *functest-kubernetes-params
1232     container: 'functest-kubernetes-security'
1233     jobs:
1234       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1235
1236 - project:
1237     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1238     <<: *functest-kubernetes-params
1239     container: 'functest-kubernetes-smoke'
1240     jobs:
1241       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1242
1243 - project:
1244     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1245     <<: *functest-kubernetes-params
1246     container: 'functest-kubernetes-benchmarking'
1247     jobs:
1248       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1249
1250 - project:
1251     name: 'functest-kubernetes'
1252     <<: *functest-kubernetes-params
1253     jobs:
1254       - 'functest-kubernetes-{tag}-docker'
1255
1256 - view:
1257     name: functest-kubernetes-docker
1258     view-type: list
1259     columns:
1260       - status
1261       - weather
1262       - job
1263       - last-success
1264       - last-failure
1265       - last-duration
1266     regex: ^functest-kubernetes-[a-z0-9.]+-docker$
1267
1268 - view:
1269     name: functest-kubernetes-trivy
1270     view-type: list
1271     columns:
1272       - status
1273       - weather
1274       - job
1275       - last-success
1276       - last-failure
1277       - last-duration
1278     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$