Merge "Update Functest jjb due to Alpine 3.14"
[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 && apt-get install \
741             software-properties-common gpg -y
742           add-apt-repository -y ppa:deadsnakes/ppa
743           apt-get update && apt-get install \
744             python3.9 python3.9-dev python3.9-distutils \
745             python3.8 python3.8-dev python3.8-distutils \
746             python3.7 python3.7-dev python3.6 python3.6-dev \
747             python python-dev python3-pip enchant -y
748           pip3 install tox tox-pip-version
749
750           tox
751
752 - job-template:
753     name: 'functest-kubernetes-{tag}-tox'
754     scm:
755       - functest-kubernetes-scm:
756           ref: $GERRIT_REFSPEC
757     triggers:
758       - functest-kubernetes-patchset-created:
759           branch: '{branch}'
760     parameters:
761       - functest-kubernetes-slave:
762           slave: '{slave}'
763     builders:
764       - functest-kubernetes-tox:
765
766 - project:
767     name: functest-kubernetes-tox
768     <<: *functest-kubernetes-params
769     jobs:
770       - 'functest-kubernetes-{tag}-tox'
771
772 - job-template:
773     name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
774     parameters:
775       - functest-kubernetes-slave:
776           slave: '{slave}'
777     scm:
778       - functest-kubernetes-scm:
779           ref: $GERRIT_REFSPEC
780     builders:
781       - functest-kubernetes-build-containers:
782           <<: *functest-kubernetes-build-containers
783           ref: $GERRIT_REFSPEC
784           buildargs: '{buildargs}'
785
786 - project:
787     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate
788     <<: *functest-kubernetes-params
789     container: functest-kubernetes-core
790     ref_arg: BRANCH
791     path: docker/core
792     jobs:
793       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
794
795 - project:
796     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate
797     <<: *functest-kubernetes-params
798     container: functest-kubernetes-healthcheck
799     ref_arg:
800     path: docker/healthcheck
801     jobs:
802       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
803
804 - project:
805     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate
806     <<: *functest-kubernetes-params
807     container: functest-kubernetes-cnf
808     ref_arg: BRANCH
809     path: docker/cnf
810     jobs:
811       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
812
813 - project:
814     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate
815     <<: *functest-kubernetes-params
816     container: functest-kubernetes-security
817     ref_arg: BRANCH
818     path: docker/security
819     jobs:
820       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
821
822 - project:
823     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate
824     <<: *functest-kubernetes-params
825     container: functest-kubernetes-smoke
826     ref_arg:
827     path: docker/smoke
828     jobs:
829       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
830
831 - project:
832     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate
833     <<: *functest-kubernetes-params
834     container: functest-kubernetes-benchmarking
835     ref_arg:
836     path: docker/benchmarking
837     jobs:
838       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
839
840 - trigger:
841     name: functest-kubernetes-patchset-created
842     triggers:
843       - gerrit:
844           trigger-on:
845             - patchset-created-event
846             - comment-added-contains-event:
847                 comment-contains-value: 'recheck'
848             - comment-added-contains-event:
849                 comment-contains-value: 'reverify'
850           projects:
851             - project-compare-type: 'ANT'
852               project-pattern: 'functest-kubernetes'
853               branches:
854                 - branch-compare-type: 'ANT'
855                   branch-pattern: '**/{branch}'
856
857 - job-template:
858     name: 'functest-kubernetes-{tag}-review'
859     project-type: multijob
860     triggers:
861       - functest-kubernetes-patchset-created:
862           branch: '{branch}'
863     parameters:
864       - functest-kubernetes-slave:
865           slave: '{slave}'
866       - functest-kubernetes-build_tag:
867           build_tag: ''
868       - functest-kubernetes-DEPLOY_SCENARIO:
869           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
870       - functest-kubernetes-E2E_TEST_OPTS:
871           E2E_TEST_OPTS: container-runtime:containerd
872     # PyYAML and yamllint differ here
873     # see https://github.com/yaml/pyyaml/issues/234
874     # yamllint disable rule:indentation
875     properties:
876       - build-blocker:
877           blocking-jobs:
878           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
879     # yamllint enable rule:indentation
880     builders:
881       - multijob:
882           name: remove former images
883           projects:
884             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
885               <<: *functest-kubernetes-jobs
886             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
887               <<: *functest-kubernetes-jobs
888             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
889               <<: *functest-kubernetes-jobs
890             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
891               <<: *functest-kubernetes-jobs
892             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
893               <<: *functest-kubernetes-jobs
894       - multijob:
895           name: remove dependency
896           projects:
897             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
898               <<: *functest-kubernetes-jobs
899       - multijob:
900           name: pull dependency
901           projects:
902             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
903               <<: *functest-kubernetes-jobs
904       - multijob:
905           name: build opnfv/functest-kubernetes-core
906           projects:
907             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
908               <<: *functest-kubernetes-jobs
909       - multijob:
910           name: build containers
911           projects:
912             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
913               <<: *functest-kubernetes-jobs
914             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
915               <<: *functest-kubernetes-jobs
916             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
917               <<: *functest-kubernetes-jobs
918       - multijob:
919           name: build opnfv/functest-kubernetes-smoke
920           projects:
921             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
922               <<: *functest-kubernetes-jobs
923       - multijob:
924           name: build opnfv/functest-kubernetes-benchmarking
925           projects:
926             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
927               <<: *functest-kubernetes-jobs
928       - multijob:
929           name: opnfv/functest-kubernetes-healthcheck:{tag}
930           projects:
931             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
932               <<: *functest-kubernetes-jobs
933             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
934               <<: *functest-kubernetes-jobs
935       - multijob:
936           name: opnfv/functest-kubernetes-smoke:{tag}
937           execution-type: SEQUENTIALLY
938           projects:
939             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
940               <<: *functest-kubernetes-jobs
941             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_io-run'
942               <<: *functest-kubernetes-jobs
943             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
944               <<: *functest-kubernetes-jobs
945             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
946               <<: *functest-kubernetes-jobs
947             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
948               <<: *functest-kubernetes-jobs
949             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
950               <<: *functest-kubernetes-jobs
951             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
952               <<: *functest-kubernetes-jobs
953             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
954               <<: *functest-kubernetes-jobs
955             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
956               <<: *functest-kubernetes-jobs
957             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli-run'
958               <<: *functest-kubernetes-jobs
959             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli_serial-run'
960               <<: *functest-kubernetes-jobs
961             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
962               <<: *functest-kubernetes-jobs
963             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
964               <<: *functest-kubernetes-jobs
965             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
966               <<: *functest-kubernetes-jobs
967             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_serial-run'
968               <<: *functest-kubernetes-jobs
969             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
970               <<: *functest-kubernetes-jobs
971             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
972               <<: *functest-kubernetes-jobs
973             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
974               <<: *functest-kubernetes-jobs
975             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
976               <<: *functest-kubernetes-jobs
977       - multijob:
978           name: opnfv/functest-kubernetes-security:{tag}
979           projects:
980             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
981               <<: *functest-kubernetes-jobs
982             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
983               <<: *functest-kubernetes-jobs
984             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
985               <<: *functest-kubernetes-jobs
986       - multijob:
987           name: opnfv/functest-kubernetes-benchmarking:{tag}
988           projects:
989             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
990               <<: *functest-kubernetes-jobs
991             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
992               <<: *functest-kubernetes-jobs
993       - multijob:
994           name: opnfv/functest-kubernetes-cnf:{tag}
995           projects:
996             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
997               <<: *functest-kubernetes-jobs
998             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
999               <<: *functest-kubernetes-jobs
1000             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
1001               <<: *functest-kubernetes-jobs
1002
1003 - project:
1004     name: 'functest-kubernetes-review'
1005     <<: *functest-kubernetes-params
1006     jobs:
1007       - 'functest-kubernetes-{tag}-review'
1008
1009 - view:
1010     name: functest-kubernetes-review
1011     view-type: list
1012     columns:
1013       - status
1014       - weather
1015       - job
1016       - last-success
1017       - last-failure
1018       - last-duration
1019     regex: ^functest-kubernetes-[a-z0-9.]+-review$
1020
1021 - view:
1022     name: functest-kubernetes-tox
1023     view-type: list
1024     columns:
1025       - status
1026       - weather
1027       - job
1028       - last-success
1029       - last-failure
1030       - last-duration
1031     regex: ^functest-kubernetes-[a-z0-9.]+-tox$
1032
1033 - builder:
1034     name: functest-kubernetes-push-containers
1035     builders:
1036       - shell: |
1037           set +x
1038           if [ "{repo}" = "_" ]; then
1039             image={container}:{tag}
1040           elif [ "{port}" = "None" ]; then
1041             image={repo}/{container}:{tag}
1042           else
1043             image={repo}:{port}/{container}:{tag}
1044           fi
1045           docker push $image
1046
1047 - trigger:
1048     name: functest-kubernetes-commit
1049     triggers:
1050       - pollscm:
1051           cron: "*/30 * * * *"
1052
1053 - job-template:
1054     name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
1055     parameters:
1056       - functest-kubernetes-slave:
1057           slave: '{slave}'
1058     scm:
1059       - functest-kubernetes-scm:
1060           ref: '{branch}'
1061     builders:
1062       - functest-kubernetes-build-containers:
1063           <<: *functest-kubernetes-build-containers
1064           ref: '{branch}'
1065           buildargs: '{buildargs}'
1066       - functest-kubernetes-push-containers:
1067           <<: *functest-kubernetes-build-containers
1068           ref: '{branch}'
1069
1070 - project:
1071     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
1072     <<: *functest-kubernetes-params
1073     container: functest-kubernetes-core
1074     ref_arg: BRANCH
1075     path: docker/core
1076     jobs:
1077       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1078
1079 - project:
1080     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
1081     <<: *functest-kubernetes-params
1082     container: functest-kubernetes-healthcheck
1083     ref_arg:
1084     path: docker/healthcheck
1085     jobs:
1086       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1087
1088 - project:
1089     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
1090     <<: *functest-kubernetes-params
1091     container: functest-kubernetes-cnf
1092     ref_arg: BRANCH
1093     path: docker/cnf
1094     jobs:
1095       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1096
1097 - project:
1098     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
1099     <<: *functest-kubernetes-params
1100     container: functest-kubernetes-security
1101     ref_arg: BRANCH
1102     path: docker/security
1103     jobs:
1104       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1105
1106 - project:
1107     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
1108     <<: *functest-kubernetes-params
1109     container: functest-kubernetes-smoke
1110     ref_arg:
1111     path: docker/smoke
1112     jobs:
1113       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1114
1115 - project:
1116     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
1117     <<: *functest-kubernetes-params
1118     container: functest-kubernetes-benchmarking
1119     ref_arg:
1120     path: docker/benchmarking
1121     jobs:
1122       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1123
1124 - job-template:
1125     name: 'functest-kubernetes-{tag}-docker'
1126     project-type: multijob
1127     triggers:
1128       - functest-kubernetes-commit
1129     scm:
1130       - functest-kubernetes-scm:
1131           ref: '{branch}'
1132     parameters:
1133       - functest-kubernetes-slave:
1134           slave: '{slave}'
1135     # PyYAML and yamllint differ here
1136     # see https://github.com/yaml/pyyaml/issues/234
1137     # yamllint disable rule:indentation
1138     properties:
1139       - build-blocker:
1140           blocking-jobs:
1141           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
1142     # yamllint enable rule:indentation
1143     builders:
1144       - multijob:
1145           name: remove dependency
1146           projects:
1147             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
1148               <<: *functest-kubernetes-jobs
1149       - multijob:
1150           name: pull dependency
1151           projects:
1152             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
1153               <<: *functest-kubernetes-jobs
1154       - multijob:
1155           name: build opnfv/functest-kubernetes-core
1156           projects:
1157             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1158               <<: *functest-kubernetes-jobs
1159       - multijob:
1160           name: build containers
1161           projects:
1162             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1163               <<: *functest-kubernetes-jobs
1164             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1165               <<: *functest-kubernetes-jobs
1166             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1167               <<: *functest-kubernetes-jobs
1168       - multijob:
1169           name: build opnfv/functest-kubernetes-smoke
1170           projects:
1171             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1172               <<: *functest-kubernetes-jobs
1173       - multijob:
1174           name: build opnfv/functest-kubernetes-benchmarking
1175           projects:
1176             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1177               <<: *functest-kubernetes-jobs
1178
1179 - builder:
1180     name: functest-kubernetes-trivy
1181     builders:
1182       - shell: |
1183           apt-get update && apt-get install curl -y
1184
1185           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1186           if [ "{repo}" = "_" ]; then
1187             image={container}:{tag}
1188           elif [ "{port}" = "None" ]; then
1189             image={repo}/{container}:{tag}
1190           else
1191             image={repo}:{port}/{container}:{tag}
1192           fi
1193           ./trivy --exit-code 1 $image
1194
1195 - job-template:
1196     name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1197     triggers:
1198       - timed: '@weekly'
1199     parameters:
1200       - functest-kubernetes-slave:
1201           slave: '{slave}'
1202     builders:
1203       - functest-kubernetes-trivy:
1204           <<: *functest-kubernetes-containers
1205
1206 - project:
1207     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1208     <<: *functest-kubernetes-params
1209     container: 'functest-kubernetes-core'
1210     jobs:
1211       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1212
1213 - project:
1214     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1215     <<: *functest-kubernetes-params
1216     container: 'functest-kubernetes-healthcheck'
1217     jobs:
1218       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1219
1220 - project:
1221     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1222     <<: *functest-kubernetes-params
1223     container: 'functest-kubernetes-cnf'
1224     jobs:
1225       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1226
1227 - project:
1228     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1229     <<: *functest-kubernetes-params
1230     container: 'functest-kubernetes-security'
1231     jobs:
1232       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1233
1234 - project:
1235     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1236     <<: *functest-kubernetes-params
1237     container: 'functest-kubernetes-smoke'
1238     jobs:
1239       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1240
1241 - project:
1242     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1243     <<: *functest-kubernetes-params
1244     container: 'functest-kubernetes-benchmarking'
1245     jobs:
1246       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1247
1248 - project:
1249     name: 'functest-kubernetes'
1250     <<: *functest-kubernetes-params
1251     jobs:
1252       - 'functest-kubernetes-{tag}-docker'
1253
1254 - view:
1255     name: functest-kubernetes-docker
1256     view-type: list
1257     columns:
1258       - status
1259       - weather
1260       - job
1261       - last-success
1262       - last-failure
1263       - last-duration
1264     regex: ^functest-kubernetes-[a-z0-9.]+-docker$
1265
1266 - view:
1267     name: functest-kubernetes-trivy
1268     view-type: list
1269     columns:
1270       - status
1271       - weather
1272       - job
1273       - last-success
1274       - last-failure
1275       - last-duration
1276     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$