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