878abbabfbd2859c3cae354148c5f963cb8617a4
[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     tag:
12       - latest:
13           from:
14           build_args:
15           branch: master
16           node: v1.30
17           dependency: 3.16
18       - v1.28:
19           from:
20           build_args:
21           branch: stable/v1.28
22           node: v1.28
23           dependency: 3.16
24       - v1.27:
25           from:
26           build_args:
27           branch: stable/v1.27
28           node: v1.27
29           dependency: 3.16
30       - v1.26:
31           from:
32           build_args:
33           branch: stable/v1.26
34           node: v1.26
35           dependency: 3.16
36
37 - functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params: &functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
38     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params'
39     repo: 'opnfv'
40     container: 'functest-kubernetes-healthcheck'
41     port:
42     tag:
43       - latest:
44           from:
45           build_args:
46           branch: master
47           node: v1.30
48           dependency: 3.16
49       - v1.28:
50           from:
51           build_args:
52           branch: stable/v1.28
53           node: v1.28
54           dependency: 3.16
55       - v1.27:
56           from:
57           build_args:
58           branch: stable/v1.27
59           node: v1.27
60           dependency: 3.16
61       - v1.26:
62           from:
63           build_args:
64           branch: stable/v1.26
65           node: v1.26
66           dependency: 3.16
67
68 - functest-kubernetes-opnfv-functest-kubernetes-smoke-params: &functest-kubernetes-opnfv-functest-kubernetes-smoke-params
69     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-params'
70     repo: 'opnfv'
71     container: 'functest-kubernetes-smoke'
72     port:
73     tag:
74       - latest:
75           from:
76           build_args:
77           branch: master
78           node: v1.30
79           dependency: 3.16
80       - v1.28:
81           from:
82           build_args:
83           branch: stable/v1.28
84           node: v1.28
85           dependency: 3.16
86       - v1.27:
87           from:
88           build_args:
89           branch: stable/v1.27
90           node: v1.27
91           dependency: 3.16
92       - v1.26:
93           from:
94           build_args:
95           branch: stable/v1.26
96           node: v1.26
97           dependency: 3.16
98
99 - functest-kubernetes-opnfv-functest-kubernetes-security-params: &functest-kubernetes-opnfv-functest-kubernetes-security-params
100     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-params'
101     repo: 'opnfv'
102     container: 'functest-kubernetes-security'
103     port:
104     tag:
105       - latest:
106           from:
107           build_args:
108           branch: master
109           node: v1.30
110           dependency: 3.16
111       - v1.28:
112           from:
113           build_args:
114           branch: stable/v1.28
115           node: v1.28
116           dependency: 3.16
117       - v1.27:
118           from:
119           build_args:
120           branch: stable/v1.27
121           node: v1.27
122           dependency: 3.16
123       - v1.26:
124           from:
125           build_args:
126           branch: stable/v1.26
127           node: v1.26
128           dependency: 3.16
129
130 - functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params: &functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params
131     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params'
132     repo: 'opnfv'
133     container: 'functest-kubernetes-benchmarking'
134     port:
135     tag:
136       - latest:
137           from:
138           build_args:
139           branch: master
140           node: v1.30
141           dependency: 3.16
142       - v1.28:
143           from:
144           build_args:
145           branch: stable/v1.28
146           node: v1.28
147           dependency: 3.16
148       - v1.27:
149           from:
150           build_args:
151           branch: stable/v1.27
152           node: v1.27
153           dependency: 3.16
154       - v1.26:
155           from:
156           build_args:
157           branch: stable/v1.26
158           node: v1.26
159           dependency: 3.16
160
161 - functest-kubernetes-opnfv-functest-kubernetes-cnf-params: &functest-kubernetes-opnfv-functest-kubernetes-cnf-params
162     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-params'
163     repo: 'opnfv'
164     container: 'functest-kubernetes-cnf'
165     port:
166     tag:
167       - latest:
168           from:
169           build_args:
170           branch: master
171           node: v1.30
172           dependency: 3.16
173       - v1.28:
174           from:
175           build_args:
176           branch: stable/v1.28
177           node: v1.28
178           dependency: 3.16
179       - v1.27:
180           from:
181           build_args:
182           branch: stable/v1.27
183           node: v1.27
184           dependency: 3.16
185       - v1.26:
186           from:
187           build_args:
188           branch: stable/v1.26
189           node: v1.26
190           dependency: 3.16
191
192 - functest-kubernetes-jobs: &functest-kubernetes-jobs
193     name: 'functest-kubernetes-jobs'
194     current-parameters: true
195
196 - parameter:
197     name: functest-kubernetes-node
198     parameters:
199       - label:
200           name: node
201           default: '{node}'
202
203 - parameter:
204     name: functest-kubernetes-build_tag
205     parameters:
206       - random-string:
207           name: build_tag
208
209 - parameter:
210     name: functest-kubernetes-DEPLOY_SCENARIO
211     parameters:
212       - string:
213           name: DEPLOY_SCENARIO
214           default: k8-nosdn-nofeature-noha
215
216 - functest-kubernetes-run-containers: &functest-kubernetes-run-containers
217     name: 'functest-kubernetes-run-containers'
218     <<: *functest-kubernetes-containers
219     privileged: '{privileged}'
220     volumes: '{volumes}'
221     env: '{env}'
222     network: '{network}'
223     uid: '{uid}'
224     gid: '{gid}'
225     published_ports: '{published_ports}'
226
227 - builder:
228     name: functest-kubernetes-pull-containers
229     builders:
230       - shell: |
231           set +x
232           if [ "{repo}" = "_" ]; then
233             image={container}:{tag}
234           elif [ "{port}" = "None" ]; then
235             image={repo}/{container}:{tag}
236           else
237             image={repo}:{port}/{container}:{tag}
238           fi
239           docker pull $image
240
241 - builder:
242     name: functest-kubernetes-run-containers
243     builders:
244       - shell: |
245           set +x
246           volumes=;
247           if [ "{volumes}" != "None" ]; then
248             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
249               do volumes="-v $i $volumes"; done
250           fi
251           env=;
252           if [ "{env}" != "None" ]; then
253             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
254               do env="-e $i $env"; done
255           fi
256           published_ports=;
257           if [ "{published_ports}" != "None" ]; then
258             for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
259               do published_ports="-p $i $published_ports"; done
260           fi
261           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
262           if [ "{repo}" = "_" ]; then
263             image={container}:{tag}
264           elif [ "{port}" = "None" ]; then
265             image={repo}/{container}:{tag}
266           else
267             image={repo}:{port}/{container}:{tag}
268           fi
269           mkdir -p $WORKSPACE/results
270           chown {uid}:{gid} $WORKSPACE/results
271           docker run --rm \
272             --privileged={privileged} \
273             --network={network} \
274             $volumes \
275             $env \
276             $published_ports \
277             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
278             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
279             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
280             -v /home/opnfv/functest-kubernetes/.boto:/etc/boto.cfg \
281             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
282             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
283             -e NODE_NAME=$node \
284             -e BUILD_TAG=$BUILD_TAG \
285             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
286             $image run_tests -t {test} -p -r
287
288 - builder:
289     name: functest-kubernetes-remove-images
290     builders:
291       - shell: |
292           set +x
293           if [ "{repo}" = "_" ]; then
294             image={container}:{tag}
295           elif [ "{port}" = "None" ]; then
296             image={repo}/{container}:{tag}
297           else
298             image={repo}:{port}/{container}:{tag}
299           fi
300           docker rmi $image || true
301
302 - job-template:
303     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
304     parameters:
305       - functest-kubernetes-node:
306           node: '{node}'
307     builders:
308       - functest-kubernetes-pull-containers:
309           <<: *functest-kubernetes-containers
310
311 - project:
312     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
313     <<: *functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
314     jobs:
315       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
316
317 - job-template:
318     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
319     parameters:
320       - functest-kubernetes-node:
321           node: '{node}'
322     builders:
323       - functest-kubernetes-remove-images:
324           <<: *functest-kubernetes-containers
325
326 - project:
327     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
328     <<: *functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
329     jobs:
330       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
331
332 - job-template:
333     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
334     parameters:
335       - functest-kubernetes-node:
336           node: '{node}'
337     builders:
338       - functest-kubernetes-pull-containers:
339           <<: *functest-kubernetes-containers
340
341 - project:
342     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
343     <<: *functest-kubernetes-opnfv-functest-kubernetes-smoke-params
344     jobs:
345       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
346
347 - job-template:
348     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
349     parameters:
350       - functest-kubernetes-node:
351           node: '{node}'
352     builders:
353       - functest-kubernetes-remove-images:
354           <<: *functest-kubernetes-containers
355
356 - project:
357     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
358     <<: *functest-kubernetes-opnfv-functest-kubernetes-smoke-params
359     jobs:
360       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
361
362 - job-template:
363     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
364     parameters:
365       - functest-kubernetes-node:
366           node: '{node}'
367     builders:
368       - functest-kubernetes-pull-containers:
369           <<: *functest-kubernetes-containers
370
371 - project:
372     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
373     <<: *functest-kubernetes-opnfv-functest-kubernetes-security-params
374     jobs:
375       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
376
377 - job-template:
378     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
379     parameters:
380       - functest-kubernetes-node:
381           node: '{node}'
382     builders:
383       - functest-kubernetes-remove-images:
384           <<: *functest-kubernetes-containers
385
386 - project:
387     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
388     <<: *functest-kubernetes-opnfv-functest-kubernetes-security-params
389     jobs:
390       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
391
392 - job-template:
393     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
394     parameters:
395       - functest-kubernetes-node:
396           node: '{node}'
397     builders:
398       - functest-kubernetes-pull-containers:
399           <<: *functest-kubernetes-containers
400
401 - project:
402     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
403     <<: *functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params
404     jobs:
405       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
406
407 - job-template:
408     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
409     parameters:
410       - functest-kubernetes-node:
411           node: '{node}'
412     builders:
413       - functest-kubernetes-remove-images:
414           <<: *functest-kubernetes-containers
415
416 - project:
417     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
418     <<: *functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params
419     jobs:
420       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
421
422 - job-template:
423     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
424     parameters:
425       - functest-kubernetes-node:
426           node: '{node}'
427     builders:
428       - functest-kubernetes-pull-containers:
429           <<: *functest-kubernetes-containers
430
431 - project:
432     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
433     <<: *functest-kubernetes-opnfv-functest-kubernetes-cnf-params
434     jobs:
435       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
436
437 - job-template:
438     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
439     parameters:
440       - functest-kubernetes-node:
441           node: '{node}'
442     builders:
443       - functest-kubernetes-remove-images:
444           <<: *functest-kubernetes-containers
445
446 - project:
447     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
448     <<: *functest-kubernetes-opnfv-functest-kubernetes-cnf-params
449     jobs:
450       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
451
452 - job-template:
453     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
454     parameters:
455       - functest-kubernetes-node:
456           node: '{node}'
457       - functest-kubernetes-build_tag:
458           build_tag: ''
459       - functest-kubernetes-DEPLOY_SCENARIO:
460           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
461     builders:
462       - functest-kubernetes-run-containers:
463           <<: *functest-kubernetes-run-containers
464           test: '{test}'
465
466 - project:
467     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
468     <<: *functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
469     volumes:
470       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
471       - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
472     env:
473       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
474     published_ports:
475     container: 'functest-kubernetes-healthcheck'
476     test:
477       - k8s_quick
478       - k8s_smoke
479     privileged: 'false'
480     network: bridge
481     uid: 1000
482     gid: 1000
483     jobs:
484       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
485
486 - job-template:
487     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
488     parameters:
489       - functest-kubernetes-node:
490           node: '{node}'
491       - functest-kubernetes-build_tag:
492           build_tag: ''
493       - functest-kubernetes-DEPLOY_SCENARIO:
494           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
495     builders:
496       - functest-kubernetes-run-containers:
497           <<: *functest-kubernetes-run-containers
498           test: '{test}'
499
500 - project:
501     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
502     <<: *functest-kubernetes-opnfv-functest-kubernetes-smoke-params
503     volumes:
504       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
505       - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
506     env:
507       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
508     published_ports:
509     container: 'functest-kubernetes-smoke'
510     test:
511       - xrally_kubernetes
512       - k8s_conformance
513       - k8s_conformance_serial
514       - sig_api_machinery
515       - sig_api_machinery_serial
516       - sig_apps
517       - sig_apps_serial
518       - sig_auth
519       - sig_cluster_lifecycle
520       - sig_instrumentation
521       - sig_network
522       - sig_node
523       - sig_scheduling_serial
524       - sig_storage
525       - sig_storage_serial
526     privileged: 'false'
527     network: bridge
528     uid: 1000
529     gid: 1000
530     jobs:
531       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
532
533 - job-template:
534     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
535     parameters:
536       - functest-kubernetes-node:
537           node: '{node}'
538       - functest-kubernetes-build_tag:
539           build_tag: ''
540       - functest-kubernetes-DEPLOY_SCENARIO:
541           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
542     builders:
543       - functest-kubernetes-run-containers:
544           <<: *functest-kubernetes-run-containers
545           test: '{test}'
546
547 - project:
548     name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
549     <<: *functest-kubernetes-opnfv-functest-kubernetes-security-params
550     volumes:
551       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
552       - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
553     env:
554       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
555     published_ports:
556     container: 'functest-kubernetes-security'
557     test:
558       - kube_hunter
559       - kube_bench_master
560       - kube_bench_node
561     privileged: 'false'
562     network: bridge
563     uid: 1000
564     gid: 1000
565     jobs:
566       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
567
568 - job-template:
569     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
570     parameters:
571       - functest-kubernetes-node:
572           node: '{node}'
573       - functest-kubernetes-build_tag:
574           build_tag: ''
575       - functest-kubernetes-DEPLOY_SCENARIO:
576           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
577     builders:
578       - functest-kubernetes-run-containers:
579           <<: *functest-kubernetes-run-containers
580           test: '{test}'
581
582 - project:
583     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
584     <<: *functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params
585     volumes:
586       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
587       - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
588     env:
589       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
590     published_ports:
591     container: 'functest-kubernetes-benchmarking'
592     test:
593       - xrally_kubernetes_full
594       - netperf
595     privileged: 'false'
596     network: bridge
597     uid: 1000
598     gid: 1000
599     jobs:
600       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
601
602 - job-template:
603     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
604     parameters:
605       - functest-kubernetes-node:
606           node: '{node}'
607       - functest-kubernetes-build_tag:
608           build_tag: ''
609       - functest-kubernetes-DEPLOY_SCENARIO:
610           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
611     builders:
612       - functest-kubernetes-run-containers:
613           <<: *functest-kubernetes-run-containers
614           test: '{test}'
615
616 - project:
617     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
618     <<: *functest-kubernetes-opnfv-functest-kubernetes-cnf-params
619     volumes:
620       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
621       - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
622     env:
623       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
624     published_ports:
625     container: 'functest-kubernetes-cnf'
626     test:
627       - k8s_vims
628       - helm_vims
629       - cnf_testsuite
630     privileged: 'false'
631     network: bridge
632     uid: 1000
633     gid: 1000
634     jobs:
635       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
636
637 - builder:
638     name: functest-kubernetes-zip
639     builders:
640       - shell: |
641           set +x
642           volumes=;
643           if [ "{volumes}" != "None" ]; then
644             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
645               do volumes="-v $i $volumes"; done
646           fi
647           env=;
648           if [ "{env}" != "None" ]; then
649             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
650               do env="-e $i $env"; done
651           fi
652           published_ports=;
653           if [ "{published_ports}" != "None" ]; then
654             for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
655               do published_ports="-p $i $published_ports"; done
656           fi
657           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
658           if [ "{repo}" = "_" ]; then
659             image={container}:{tag}
660           elif [ "{port}" = "None" ]; then
661             image={repo}/{container}:{tag}
662           else
663             image={repo}:{port}/{container}:{tag}
664           fi
665           mkdir -p $WORKSPACE/results
666           chown {uid}:{gid} $WORKSPACE/results
667           docker run --rm \
668             --privileged={privileged} \
669             --network={network} \
670             $volumes \
671             $env \
672             $published_ports \
673             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
674             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
675             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
676             -v /home/opnfv/functest-kubernetes/.boto:/etc/boto.cfg \
677             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
678             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
679             -e NODE_NAME=$node \
680             -e BUILD_TAG=$BUILD_TAG \
681             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
682             $image zip_campaign
683
684 - job-template:
685     name: 'functest-kubernetes-{tag}-zip'
686     parameters:
687       - functest-kubernetes-node:
688           node: '{node}'
689       - functest-kubernetes-build_tag:
690           build_tag: ''
691       - functest-kubernetes-DEPLOY_SCENARIO:
692           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
693     builders:
694       - functest-kubernetes-zip:
695           <<: *functest-kubernetes-run-containers
696
697 - project:
698     name: 'functest-kubernetes-zip'
699     <<: *functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
700     volumes:
701       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
702       - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
703     env:
704       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
705     published_ports:
706     container: 'functest-kubernetes-healthcheck'
707     privileged: 'false'
708     network: bridge
709     uid: 1000
710     gid: 1000
711     jobs:
712       - 'functest-kubernetes-{tag}-zip'
713
714 - job-template:
715     name: 'functest-kubernetes-{tag}-daily'
716     project-type: multijob
717     triggers:
718       - timed: '@weekly'
719     parameters:
720       - functest-kubernetes-node:
721           node: '{node}'
722       - functest-kubernetes-build_tag:
723           build_tag: ''
724       - functest-kubernetes-DEPLOY_SCENARIO:
725           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
726     # PyYAML and yamllint differ here
727     # see https://github.com/yaml/pyyaml/issues/234
728     # yamllint disable rule:indentation
729     properties:
730       - build-blocker:
731           blocking-jobs:
732           - ^functest-kubernetes-(pi-)*.*-(daily|docker|review)$
733     # yamllint enable rule:indentation
734     builders:
735       - multijob:
736           name: remove former images
737           projects:
738             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
739               <<: *functest-kubernetes-jobs
740             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
741               <<: *functest-kubernetes-jobs
742             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
743               <<: *functest-kubernetes-jobs
744             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
745               <<: *functest-kubernetes-jobs
746             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
747               <<: *functest-kubernetes-jobs
748       - multijob:
749           name: pull containers
750           projects:
751             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
752               <<: *functest-kubernetes-jobs
753             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
754               <<: *functest-kubernetes-jobs
755             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
756               <<: *functest-kubernetes-jobs
757             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
758               <<: *functest-kubernetes-jobs
759             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
760               <<: *functest-kubernetes-jobs
761       - multijob:
762           name: opnfv/functest-kubernetes-healthcheck:{tag}
763           projects:
764             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
765               <<: *functest-kubernetes-jobs
766             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
767               <<: *functest-kubernetes-jobs
768       - multijob:
769           name: opnfv/functest-kubernetes-smoke:{tag}
770           execution-type: SEQUENTIALLY
771           projects:
772             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
773               <<: *functest-kubernetes-jobs
774             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
775               <<: *functest-kubernetes-jobs
776             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
777               <<: *functest-kubernetes-jobs
778             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
779               <<: *functest-kubernetes-jobs
780             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
781               <<: *functest-kubernetes-jobs
782             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
783               <<: *functest-kubernetes-jobs
784             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
785               <<: *functest-kubernetes-jobs
786             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
787               <<: *functest-kubernetes-jobs
788             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
789               <<: *functest-kubernetes-jobs
790             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
791               <<: *functest-kubernetes-jobs
792             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
793               <<: *functest-kubernetes-jobs
794             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
795               <<: *functest-kubernetes-jobs
796             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
797               <<: *functest-kubernetes-jobs
798             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
799               <<: *functest-kubernetes-jobs
800             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
801               <<: *functest-kubernetes-jobs
802       - multijob:
803           name: opnfv/functest-kubernetes-security:{tag}
804           projects:
805             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
806               <<: *functest-kubernetes-jobs
807             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
808               <<: *functest-kubernetes-jobs
809             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
810               <<: *functest-kubernetes-jobs
811       - multijob:
812           name: opnfv/functest-kubernetes-benchmarking:{tag}
813           projects:
814             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
815               <<: *functest-kubernetes-jobs
816             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
817               <<: *functest-kubernetes-jobs
818       - multijob:
819           name: opnfv/functest-kubernetes-cnf:{tag}
820           projects:
821             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
822               <<: *functest-kubernetes-jobs
823             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
824               <<: *functest-kubernetes-jobs
825             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
826               <<: *functest-kubernetes-jobs
827       - multijob:
828           name: dump all campaign data
829           projects:
830             - name: 'functest-kubernetes-{tag}-zip'
831               <<: *functest-kubernetes-jobs
832     publishers:
833       - email-ext:
834           failure: false
835           first-failure: true
836           fixed: true
837           recipients: cedric.ollivier@orange.com
838
839 - project:
840     name: 'functest-kubernetes-daily'
841     <<: *functest-kubernetes-params
842     jobs:
843       - 'functest-kubernetes-{tag}-daily'
844
845 - view:
846     name: functest-kubernetes
847     view-type: list
848     columns:
849       - status
850       - weather
851       - job
852       - last-success
853       - last-failure
854       - last-duration
855     regex: ^functest-kubernetes-[a-z0-9.-]+-daily$
856
857 - functest-kubernetes-build-containers: &functest-kubernetes-build-containers
858     name: 'functest-kubernetes-build-containers'
859     <<: *functest-kubernetes-containers
860     ref_arg: '{ref_arg}'
861     path: '{path}'
862     build_args: '{build_args}'
863     from: '{from}'
864
865 - builder:
866     name: functest-kubernetes-build-containers
867     builders:
868       - shell: |
869           set +x
870           if [ "{repo}" = "_" ]; then
871             image={container}:{tag}
872           elif [ "{port}" = "None" ]; then
873             image={repo}/{container}:{tag}
874           else
875             image={repo}:{port}/{container}:{tag}
876           fi
877           build_args=""
878           if [ "{build_args}" != "None" ]; then
879             for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
880               do build_args="--build-arg $i $build_args"; done
881           fi
882           if [ "{ref_arg}" != "None" ]; then
883             build_args="$build_args --build-arg {ref_arg}={ref}"
884           fi
885           cd {path}
886           if [ "{from}" != "None" ]; then
887               sed -i {from} Dockerfile
888           fi
889           docker build $build_args \
890             --pull=false --no-cache --force-rm=true \
891             -t $image .
892
893 - scm:
894     name: functest-kubernetes-scm
895     scm:
896       - git:
897           url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
898           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
899           branches:
900             - '{ref}'
901
902 - functest-kubernetes-dep: &functest-kubernetes-dep
903     name: 'functest-kubernetes-containers'
904     repo: '{repo}'
905     container: '{container}'
906     port: '{port}'
907     tag: '{dependency}'
908
909 - job-template:
910     name: 'functest-kubernetes-{tag}-dep-pull'
911     parameters:
912       - functest-kubernetes-node:
913           node: '{node}'
914     builders:
915       - functest-kubernetes-pull-containers:
916           <<: *functest-kubernetes-dep
917
918 - functest-kubernetes-dep-params: &functest-kubernetes-dep-params
919     name: 'functest-kubernetes-dep-params'
920     repo: '_'
921     container: 'alpine'
922     port:
923     tag:
924       - latest:
925           dependency: 3.16
926       - v1.28:
927           dependency: 3.16
928       - v1.27:
929           dependency: 3.16
930       - v1.26:
931           dependency: 3.16
932
933 - project:
934     name: 'functest-kubernetes-dep-pull'
935     <<: *functest-kubernetes-dep-params
936     jobs:
937       - 'functest-kubernetes-{tag}-dep-pull'
938
939 - job-template:
940     name: 'functest-kubernetes-{tag}-dep-rmi'
941     parameters:
942       - functest-kubernetes-node:
943           node: '{node}'
944     builders:
945       - functest-kubernetes-remove-images:
946           <<: *functest-kubernetes-dep
947
948 - project:
949     name: 'functest-kubernetes-dep-rmi'
950     <<: *functest-kubernetes-dep-params
951     jobs:
952       - 'functest-kubernetes-{tag}-dep-rmi'
953
954 - builder:
955     name: functest-kubernetes-tox
956     builders:
957       - shell: |
958           set +x
959           apt-get -o DPkg::Lock::Timeout=300 update && \
960           DEBIAN_FRONTEND=noninteractive apt-get \
961             -o DPkg::Lock::Timeout=300 dist-upgrade -y
962           DEBIAN_FRONTEND=noninteractive \
963           apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
964           add-apt-repository -y ppa:deadsnakes/ppa
965           apt-get -o DPkg::Lock::Timeout=300 update && \
966           DEBIAN_FRONTEND=noninteractive apt-get \
967             -o DPkg::Lock::Timeout=300 install \
968             libxml2-dev libxslt-dev libffi-dev libjpeg-dev \
969             python3.10 python3.10-dev python3.10-distutils \
970             python3.9 python3.9-dev python3.9-distutils \
971             python3.8 python3.8-dev python3.8-distutils \
972             python3-pip enchant-2 -y
973           pip3 install tox
974
975           tox
976
977 - job-template:
978     name: 'functest-kubernetes-{tag}-tox'
979     scm:
980       - functest-kubernetes-scm:
981           ref: $GERRIT_REFSPEC
982     triggers:
983       - functest-kubernetes-patchset-created:
984           branch: '{branch}'
985     parameters:
986       - functest-kubernetes-node:
987           node: '{node}'
988     builders:
989       - functest-kubernetes-tox:
990
991 - project:
992     name: functest-kubernetes-tox
993     <<: *functest-kubernetes-params
994     jobs:
995       - 'functest-kubernetes-{tag}-tox'
996
997 - job-template:
998     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
999     parameters:
1000       - functest-kubernetes-node:
1001           node: '{node}'
1002     scm:
1003       - functest-kubernetes-scm:
1004           ref: $GERRIT_REFSPEC
1005     builders:
1006       - functest-kubernetes-build-containers:
1007           <<: *functest-kubernetes-build-containers
1008           ref: $GERRIT_REFSPEC
1009           build_args: '{build_args}'
1010
1011 - project:
1012     name: functest-kubernetes-opnfv-functest-kubernetes-core-gate
1013     <<: *functest-kubernetes-params
1014     repo: opnfv
1015     port:
1016     container: functest-kubernetes-core
1017     ref_arg: BRANCH
1018     path: docker/core
1019     jobs:
1020       - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
1021
1022 - job-template:
1023     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
1024     parameters:
1025       - functest-kubernetes-node:
1026           node: '{node}'
1027     scm:
1028       - functest-kubernetes-scm:
1029           ref: $GERRIT_REFSPEC
1030     builders:
1031       - functest-kubernetes-build-containers:
1032           <<: *functest-kubernetes-build-containers
1033           ref: $GERRIT_REFSPEC
1034           build_args: '{build_args}'
1035
1036 - project:
1037     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-gate
1038     <<: *functest-kubernetes-params
1039     repo: opnfv
1040     port:
1041     container: functest-kubernetes-healthcheck
1042     ref_arg:
1043     path: docker/healthcheck
1044     jobs:
1045       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
1046
1047 - job-template:
1048     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
1049     parameters:
1050       - functest-kubernetes-node:
1051           node: '{node}'
1052     scm:
1053       - functest-kubernetes-scm:
1054           ref: $GERRIT_REFSPEC
1055     builders:
1056       - functest-kubernetes-build-containers:
1057           <<: *functest-kubernetes-build-containers
1058           ref: $GERRIT_REFSPEC
1059           build_args: '{build_args}'
1060
1061 - project:
1062     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-gate
1063     <<: *functest-kubernetes-params
1064     repo: opnfv
1065     port:
1066     container: functest-kubernetes-cnf
1067     ref_arg: BRANCH
1068     path: docker/cnf
1069     jobs:
1070       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
1071
1072 - job-template:
1073     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
1074     parameters:
1075       - functest-kubernetes-node:
1076           node: '{node}'
1077     scm:
1078       - functest-kubernetes-scm:
1079           ref: $GERRIT_REFSPEC
1080     builders:
1081       - functest-kubernetes-build-containers:
1082           <<: *functest-kubernetes-build-containers
1083           ref: $GERRIT_REFSPEC
1084           build_args: '{build_args}'
1085
1086 - project:
1087     name: functest-kubernetes-opnfv-functest-kubernetes-security-gate
1088     <<: *functest-kubernetes-params
1089     repo: opnfv
1090     port:
1091     container: functest-kubernetes-security
1092     ref_arg: BRANCH
1093     path: docker/security
1094     jobs:
1095       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
1096
1097 - job-template:
1098     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
1099     parameters:
1100       - functest-kubernetes-node:
1101           node: '{node}'
1102     scm:
1103       - functest-kubernetes-scm:
1104           ref: $GERRIT_REFSPEC
1105     builders:
1106       - functest-kubernetes-build-containers:
1107           <<: *functest-kubernetes-build-containers
1108           ref: $GERRIT_REFSPEC
1109           build_args: '{build_args}'
1110
1111 - project:
1112     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-gate
1113     <<: *functest-kubernetes-params
1114     repo: opnfv
1115     port:
1116     container: functest-kubernetes-smoke
1117     ref_arg:
1118     path: docker/smoke
1119     jobs:
1120       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
1121
1122 - job-template:
1123     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
1124     parameters:
1125       - functest-kubernetes-node:
1126           node: '{node}'
1127     scm:
1128       - functest-kubernetes-scm:
1129           ref: $GERRIT_REFSPEC
1130     builders:
1131       - functest-kubernetes-build-containers:
1132           <<: *functest-kubernetes-build-containers
1133           ref: $GERRIT_REFSPEC
1134           build_args: '{build_args}'
1135
1136 - project:
1137     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-gate
1138     <<: *functest-kubernetes-params
1139     repo: opnfv
1140     port:
1141     container: functest-kubernetes-benchmarking
1142     ref_arg:
1143     path: docker/benchmarking
1144     jobs:
1145       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
1146
1147 - trigger:
1148     name: functest-kubernetes-patchset-created
1149     triggers:
1150       - gerrit:
1151           trigger-on:
1152             - patchset-created-event
1153             - comment-added-contains-event:
1154                 comment-contains-value: 'recheck'
1155             - comment-added-contains-event:
1156                 comment-contains-value: 'reverify'
1157           projects:
1158             - project-compare-type: 'ANT'
1159               project-pattern: 'functest-kubernetes'
1160               branches:
1161                 - branch-compare-type: 'ANT'
1162                   branch-pattern: '**/{branch}'
1163
1164 - job-template:
1165     name: 'functest-kubernetes-{tag}-review'
1166     project-type: multijob
1167     triggers:
1168       - functest-kubernetes-patchset-created:
1169           branch: '{branch}'
1170     parameters:
1171       - functest-kubernetes-node:
1172           node: '{node}'
1173       - functest-kubernetes-build_tag:
1174           build_tag: ''
1175       - functest-kubernetes-DEPLOY_SCENARIO:
1176           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
1177     # PyYAML and yamllint differ here
1178     # see https://github.com/yaml/pyyaml/issues/234
1179     # yamllint disable rule:indentation
1180     properties:
1181       - build-blocker:
1182           blocking-jobs:
1183           - ^functest-kubernetes-(pi-)*.*-(daily|docker|review)$
1184     # yamllint enable rule:indentation
1185     builders:
1186       - multijob:
1187           name: remove former images
1188           projects:
1189             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
1190               <<: *functest-kubernetes-jobs
1191             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
1192               <<: *functest-kubernetes-jobs
1193             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
1194               <<: *functest-kubernetes-jobs
1195             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
1196               <<: *functest-kubernetes-jobs
1197             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
1198               <<: *functest-kubernetes-jobs
1199       - multijob:
1200           name: remove dependency
1201           projects:
1202             - name: 'functest-kubernetes-{tag}-dep-rmi'
1203               <<: *functest-kubernetes-jobs
1204       - multijob:
1205           name: pull dependency
1206           projects:
1207             - name: 'functest-kubernetes-{tag}-dep-pull'
1208               <<: *functest-kubernetes-jobs
1209       - multijob:
1210           name: build opnfv/functest-kubernetes-core
1211           projects:
1212             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
1213               <<: *functest-kubernetes-jobs
1214       - multijob:
1215           name: build containers
1216           projects:
1217             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
1218               <<: *functest-kubernetes-jobs
1219             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
1220               <<: *functest-kubernetes-jobs
1221             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
1222               <<: *functest-kubernetes-jobs
1223       - multijob:
1224           name: build opnfv/functest-kubernetes-smoke
1225           projects:
1226             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
1227               <<: *functest-kubernetes-jobs
1228       - multijob:
1229           name: build opnfv/functest-kubernetes-benchmarking
1230           projects:
1231             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
1232               <<: *functest-kubernetes-jobs
1233       - multijob:
1234           name: opnfv/functest-kubernetes-healthcheck:{tag}
1235           projects:
1236             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
1237               <<: *functest-kubernetes-jobs
1238             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
1239               <<: *functest-kubernetes-jobs
1240       - multijob:
1241           name: opnfv/functest-kubernetes-smoke:{tag}
1242           execution-type: SEQUENTIALLY
1243           projects:
1244             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
1245               <<: *functest-kubernetes-jobs
1246             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
1247               <<: *functest-kubernetes-jobs
1248             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
1249               <<: *functest-kubernetes-jobs
1250             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
1251               <<: *functest-kubernetes-jobs
1252             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
1253               <<: *functest-kubernetes-jobs
1254             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
1255               <<: *functest-kubernetes-jobs
1256             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
1257               <<: *functest-kubernetes-jobs
1258             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
1259               <<: *functest-kubernetes-jobs
1260             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
1261               <<: *functest-kubernetes-jobs
1262             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
1263               <<: *functest-kubernetes-jobs
1264             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
1265               <<: *functest-kubernetes-jobs
1266             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
1267               <<: *functest-kubernetes-jobs
1268             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
1269               <<: *functest-kubernetes-jobs
1270             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
1271               <<: *functest-kubernetes-jobs
1272             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
1273               <<: *functest-kubernetes-jobs
1274       - multijob:
1275           name: opnfv/functest-kubernetes-security:{tag}
1276           projects:
1277             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
1278               <<: *functest-kubernetes-jobs
1279             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
1280               <<: *functest-kubernetes-jobs
1281             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
1282               <<: *functest-kubernetes-jobs
1283       - multijob:
1284           name: opnfv/functest-kubernetes-benchmarking:{tag}
1285           projects:
1286             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
1287               <<: *functest-kubernetes-jobs
1288             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
1289               <<: *functest-kubernetes-jobs
1290       - multijob:
1291           name: opnfv/functest-kubernetes-cnf:{tag}
1292           projects:
1293             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
1294               <<: *functest-kubernetes-jobs
1295             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
1296               <<: *functest-kubernetes-jobs
1297             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
1298               <<: *functest-kubernetes-jobs
1299     publishers:
1300       - email-ext:
1301           failure: false
1302           first-failure: true
1303           fixed: true
1304           recipients: cedric.ollivier@orange.com
1305
1306 - project:
1307     name: 'functest-kubernetes-review'
1308     <<: *functest-kubernetes-params
1309     jobs:
1310       - 'functest-kubernetes-{tag}-review'
1311
1312 - view:
1313     name: functest-kubernetes-review
1314     view-type: list
1315     columns:
1316       - status
1317       - weather
1318       - job
1319       - last-success
1320       - last-failure
1321       - last-duration
1322     regex: ^functest-kubernetes-[a-z0-9.-]+-review$
1323
1324 - view:
1325     name: functest-kubernetes-tox
1326     view-type: list
1327     columns:
1328       - status
1329       - weather
1330       - job
1331       - last-success
1332       - last-failure
1333       - last-duration
1334     regex: ^functest-kubernetes-[a-z0-9.-]+-tox$
1335
1336 - builder:
1337     name: functest-kubernetes-push-containers
1338     builders:
1339       - shell: |
1340           set +x
1341           if [ "{repo}" = "_" ]; then
1342             image={container}:{tag}
1343           elif [ "{port}" = "None" ]; then
1344             image={repo}/{container}:{tag}
1345           else
1346             image={repo}:{port}/{container}:{tag}
1347           fi
1348           docker push $image
1349
1350 - trigger:
1351     name: functest-kubernetes-commit
1352     triggers:
1353       - pollscm:
1354           cron: "*/30 * * * *"
1355
1356 - job-template:
1357     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1358     parameters:
1359       - functest-kubernetes-node:
1360           node: '{node}'
1361     scm:
1362       - functest-kubernetes-scm:
1363           ref: '{branch}'
1364     builders:
1365       - functest-kubernetes-build-containers:
1366           <<: *functest-kubernetes-build-containers
1367           ref: '{branch}'
1368           build_args: '{build_args}'
1369       - functest-kubernetes-push-containers:
1370           <<: *functest-kubernetes-build-containers
1371           ref: '{branch}'
1372
1373 - project:
1374     name: functest-kubernetes-opnfv-functest-kubernetes-core-build
1375     <<: *functest-kubernetes-params
1376     repo: opnfv
1377     container: functest-kubernetes-core
1378     port:
1379     ref_arg: BRANCH
1380     path: docker/core
1381     jobs:
1382       - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1383
1384 - job-template:
1385     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1386     parameters:
1387       - functest-kubernetes-node:
1388           node: '{node}'
1389     scm:
1390       - functest-kubernetes-scm:
1391           ref: '{branch}'
1392     builders:
1393       - functest-kubernetes-build-containers:
1394           <<: *functest-kubernetes-build-containers
1395           ref: '{branch}'
1396           build_args: '{build_args}'
1397       - functest-kubernetes-push-containers:
1398           <<: *functest-kubernetes-build-containers
1399           ref: '{branch}'
1400
1401 - project:
1402     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-build
1403     <<: *functest-kubernetes-params
1404     repo: opnfv
1405     container: functest-kubernetes-healthcheck
1406     port:
1407     ref_arg:
1408     path: docker/healthcheck
1409     jobs:
1410       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1411
1412 - job-template:
1413     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1414     parameters:
1415       - functest-kubernetes-node:
1416           node: '{node}'
1417     scm:
1418       - functest-kubernetes-scm:
1419           ref: '{branch}'
1420     builders:
1421       - functest-kubernetes-build-containers:
1422           <<: *functest-kubernetes-build-containers
1423           ref: '{branch}'
1424           build_args: '{build_args}'
1425       - functest-kubernetes-push-containers:
1426           <<: *functest-kubernetes-build-containers
1427           ref: '{branch}'
1428
1429 - project:
1430     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-build
1431     <<: *functest-kubernetes-params
1432     repo: opnfv
1433     container: functest-kubernetes-cnf
1434     port:
1435     ref_arg: BRANCH
1436     path: docker/cnf
1437     jobs:
1438       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1439
1440 - job-template:
1441     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1442     parameters:
1443       - functest-kubernetes-node:
1444           node: '{node}'
1445     scm:
1446       - functest-kubernetes-scm:
1447           ref: '{branch}'
1448     builders:
1449       - functest-kubernetes-build-containers:
1450           <<: *functest-kubernetes-build-containers
1451           ref: '{branch}'
1452           build_args: '{build_args}'
1453       - functest-kubernetes-push-containers:
1454           <<: *functest-kubernetes-build-containers
1455           ref: '{branch}'
1456
1457 - project:
1458     name: functest-kubernetes-opnfv-functest-kubernetes-security-build
1459     <<: *functest-kubernetes-params
1460     repo: opnfv
1461     container: functest-kubernetes-security
1462     port:
1463     ref_arg: BRANCH
1464     path: docker/security
1465     jobs:
1466       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1467
1468 - job-template:
1469     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1470     parameters:
1471       - functest-kubernetes-node:
1472           node: '{node}'
1473     scm:
1474       - functest-kubernetes-scm:
1475           ref: '{branch}'
1476     builders:
1477       - functest-kubernetes-build-containers:
1478           <<: *functest-kubernetes-build-containers
1479           ref: '{branch}'
1480           build_args: '{build_args}'
1481       - functest-kubernetes-push-containers:
1482           <<: *functest-kubernetes-build-containers
1483           ref: '{branch}'
1484
1485 - project:
1486     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-build
1487     <<: *functest-kubernetes-params
1488     repo: opnfv
1489     container: functest-kubernetes-smoke
1490     port:
1491     ref_arg:
1492     path: docker/smoke
1493     jobs:
1494       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1495
1496 - job-template:
1497     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1498     parameters:
1499       - functest-kubernetes-node:
1500           node: '{node}'
1501     scm:
1502       - functest-kubernetes-scm:
1503           ref: '{branch}'
1504     builders:
1505       - functest-kubernetes-build-containers:
1506           <<: *functest-kubernetes-build-containers
1507           ref: '{branch}'
1508           build_args: '{build_args}'
1509       - functest-kubernetes-push-containers:
1510           <<: *functest-kubernetes-build-containers
1511           ref: '{branch}'
1512
1513 - project:
1514     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-build
1515     <<: *functest-kubernetes-params
1516     repo: opnfv
1517     container: functest-kubernetes-benchmarking
1518     port:
1519     ref_arg:
1520     path: docker/benchmarking
1521     jobs:
1522       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1523
1524 - job-template:
1525     name: 'functest-kubernetes-{tag}-docker'
1526     project-type: multijob
1527     triggers:
1528       - functest-kubernetes-commit
1529     scm:
1530       - functest-kubernetes-scm:
1531           ref: '{branch}'
1532     parameters:
1533       - functest-kubernetes-node:
1534           node: '{node}'
1535     # PyYAML and yamllint differ here
1536     # see https://github.com/yaml/pyyaml/issues/234
1537     # yamllint disable rule:indentation
1538     properties:
1539       - build-blocker:
1540           blocking-jobs:
1541           - ^functest-kubernetes-(pi-)*.*-(daily|docker|review)$
1542     # yamllint enable rule:indentation
1543     builders:
1544       - multijob:
1545           name: remove dependency
1546           projects:
1547             - name: 'functest-kubernetes-{tag}-dep-rmi'
1548               <<: *functest-kubernetes-jobs
1549       - multijob:
1550           name: pull dependency
1551           projects:
1552             - name: 'functest-kubernetes-{tag}-dep-pull'
1553               <<: *functest-kubernetes-jobs
1554       - multijob:
1555           name: build opnfv/functest-kubernetes-core
1556           projects:
1557             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1558               <<: *functest-kubernetes-jobs
1559       - multijob:
1560           name: build containers
1561           projects:
1562             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1563               <<: *functest-kubernetes-jobs
1564             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1565               <<: *functest-kubernetes-jobs
1566             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1567               <<: *functest-kubernetes-jobs
1568       - multijob:
1569           name: build opnfv/functest-kubernetes-smoke
1570           projects:
1571             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1572               <<: *functest-kubernetes-jobs
1573       - multijob:
1574           name: build opnfv/functest-kubernetes-benchmarking
1575           projects:
1576             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1577               <<: *functest-kubernetes-jobs
1578     publishers:
1579       - email-ext:
1580           failure: false
1581           first-failure: true
1582           fixed: true
1583           recipients: cedric.ollivier@orange.com
1584
1585 - project:
1586     name: 'functest-kubernetes-docker'
1587     <<: *functest-kubernetes-params
1588     jobs:
1589       - 'functest-kubernetes-{tag}-docker'
1590
1591 - builder:
1592     name: functest-kubernetes-trivy
1593     builders:
1594       - shell: |
1595           apt-get -o DPkg::Lock::Timeout=300 update && \
1596           DEBIAN_FRONTEND=noninteractive apt-get \
1597             -o DPkg::Lock::Timeout=300 install curl -y
1598
1599           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1600           if [ "{repo}" = "_" ]; then
1601             image={container}:{tag}
1602           elif [ "{port}" = "None" ]; then
1603             image={repo}/{container}:{tag}
1604           else
1605             image={repo}:{port}/{container}:{tag}
1606           fi
1607           ./trivy image --exit-code 1 $image
1608
1609 - job-template:
1610     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-trivy'
1611     triggers:
1612       - timed: '@weekly'
1613     parameters:
1614       - functest-kubernetes-node:
1615           node: '{node}'
1616     builders:
1617       - functest-kubernetes-trivy:
1618           <<: *functest-kubernetes-containers
1619     publishers:
1620       - email-ext:
1621           failure: false
1622           first-failure: true
1623           fixed: true
1624           recipients: cedric.ollivier@orange.com
1625
1626 - project:
1627     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1628     <<: *functest-kubernetes-params
1629     repo: 'opnfv'
1630     container: 'functest-kubernetes-core'
1631     port:
1632     jobs:
1633       - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-trivy'
1634
1635 - job-template:
1636     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-trivy'
1637     triggers:
1638       - timed: '@weekly'
1639     parameters:
1640       - functest-kubernetes-node:
1641           node: '{node}'
1642     builders:
1643       - functest-kubernetes-trivy:
1644           <<: *functest-kubernetes-containers
1645     publishers:
1646       - email-ext:
1647           failure: false
1648           first-failure: true
1649           fixed: true
1650           recipients: cedric.ollivier@orange.com
1651
1652 - project:
1653     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1654     <<: *functest-kubernetes-params
1655     repo: 'opnfv'
1656     container: 'functest-kubernetes-healthcheck'
1657     port:
1658     jobs:
1659       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-trivy'
1660
1661 - job-template:
1662     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-trivy'
1663     triggers:
1664       - timed: '@weekly'
1665     parameters:
1666       - functest-kubernetes-node:
1667           node: '{node}'
1668     builders:
1669       - functest-kubernetes-trivy:
1670           <<: *functest-kubernetes-containers
1671     publishers:
1672       - email-ext:
1673           failure: false
1674           first-failure: true
1675           fixed: true
1676           recipients: cedric.ollivier@orange.com
1677
1678 - project:
1679     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1680     <<: *functest-kubernetes-params
1681     repo: 'opnfv'
1682     container: 'functest-kubernetes-cnf'
1683     port:
1684     jobs:
1685       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-trivy'
1686
1687 - job-template:
1688     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-trivy'
1689     triggers:
1690       - timed: '@weekly'
1691     parameters:
1692       - functest-kubernetes-node:
1693           node: '{node}'
1694     builders:
1695       - functest-kubernetes-trivy:
1696           <<: *functest-kubernetes-containers
1697     publishers:
1698       - email-ext:
1699           failure: false
1700           first-failure: true
1701           fixed: true
1702           recipients: cedric.ollivier@orange.com
1703
1704 - project:
1705     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1706     <<: *functest-kubernetes-params
1707     repo: 'opnfv'
1708     container: 'functest-kubernetes-security'
1709     port:
1710     jobs:
1711       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-trivy'
1712
1713 - job-template:
1714     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-trivy'
1715     triggers:
1716       - timed: '@weekly'
1717     parameters:
1718       - functest-kubernetes-node:
1719           node: '{node}'
1720     builders:
1721       - functest-kubernetes-trivy:
1722           <<: *functest-kubernetes-containers
1723     publishers:
1724       - email-ext:
1725           failure: false
1726           first-failure: true
1727           fixed: true
1728           recipients: cedric.ollivier@orange.com
1729
1730 - project:
1731     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1732     <<: *functest-kubernetes-params
1733     repo: 'opnfv'
1734     container: 'functest-kubernetes-smoke'
1735     port:
1736     jobs:
1737       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-trivy'
1738
1739 - job-template:
1740     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-trivy'
1741     triggers:
1742       - timed: '@weekly'
1743     parameters:
1744       - functest-kubernetes-node:
1745           node: '{node}'
1746     builders:
1747       - functest-kubernetes-trivy:
1748           <<: *functest-kubernetes-containers
1749     publishers:
1750       - email-ext:
1751           failure: false
1752           first-failure: true
1753           fixed: true
1754           recipients: cedric.ollivier@orange.com
1755
1756 - project:
1757     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1758     <<: *functest-kubernetes-params
1759     repo: 'opnfv'
1760     container: 'functest-kubernetes-benchmarking'
1761     port:
1762     jobs:
1763       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-trivy'
1764
1765 - builder:
1766     name: functest-kubernetes-grype
1767     builders:
1768       - shell: |
1769           apt-get -o DPkg::Lock::Timeout=300 update && \
1770           DEBIAN_FRONTEND=noninteractive apt-get \
1771             -o DPkg::Lock::Timeout=300 install curl -y
1772
1773           curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b .
1774           if [ "{repo}" = "_" ]; then
1775             image={container}:{tag}
1776           elif [ "{port}" = "None" ]; then
1777             image={repo}/{container}:{tag}
1778           else
1779             image={repo}:{port}/{container}:{tag}
1780           fi
1781           ./grype -q $image
1782
1783 - job-template:
1784     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-grype'
1785     triggers:
1786       - timed: '@weekly'
1787     parameters:
1788       - functest-kubernetes-node:
1789           node: '{node}'
1790     builders:
1791       - functest-kubernetes-grype:
1792           <<: *functest-kubernetes-containers
1793     publishers:
1794       - email-ext:
1795           failure: false
1796           first-failure: true
1797           fixed: true
1798           recipients: cedric.ollivier@orange.com
1799
1800 - project:
1801     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-grype'
1802     <<: *functest-kubernetes-params
1803     repo: 'opnfv'
1804     container: 'functest-kubernetes-core'
1805     port:
1806     jobs:
1807       - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-grype'
1808
1809 - job-template:
1810     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-grype'
1811     triggers:
1812       - timed: '@weekly'
1813     parameters:
1814       - functest-kubernetes-node:
1815           node: '{node}'
1816     builders:
1817       - functest-kubernetes-grype:
1818           <<: *functest-kubernetes-containers
1819     publishers:
1820       - email-ext:
1821           failure: false
1822           first-failure: true
1823           fixed: true
1824           recipients: cedric.ollivier@orange.com
1825
1826 - project:
1827     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-grype'
1828     <<: *functest-kubernetes-params
1829     repo: 'opnfv'
1830     container: 'functest-kubernetes-healthcheck'
1831     port:
1832     jobs:
1833       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-grype'
1834
1835 - job-template:
1836     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-grype'
1837     triggers:
1838       - timed: '@weekly'
1839     parameters:
1840       - functest-kubernetes-node:
1841           node: '{node}'
1842     builders:
1843       - functest-kubernetes-grype:
1844           <<: *functest-kubernetes-containers
1845     publishers:
1846       - email-ext:
1847           failure: false
1848           first-failure: true
1849           fixed: true
1850           recipients: cedric.ollivier@orange.com
1851
1852 - project:
1853     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-grype'
1854     <<: *functest-kubernetes-params
1855     repo: 'opnfv'
1856     container: 'functest-kubernetes-cnf'
1857     port:
1858     jobs:
1859       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-grype'
1860
1861 - job-template:
1862     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-grype'
1863     triggers:
1864       - timed: '@weekly'
1865     parameters:
1866       - functest-kubernetes-node:
1867           node: '{node}'
1868     builders:
1869       - functest-kubernetes-grype:
1870           <<: *functest-kubernetes-containers
1871     publishers:
1872       - email-ext:
1873           failure: false
1874           first-failure: true
1875           fixed: true
1876           recipients: cedric.ollivier@orange.com
1877
1878 - project:
1879     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-grype'
1880     <<: *functest-kubernetes-params
1881     repo: 'opnfv'
1882     container: 'functest-kubernetes-security'
1883     port:
1884     jobs:
1885       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-grype'
1886
1887 - job-template:
1888     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-grype'
1889     triggers:
1890       - timed: '@weekly'
1891     parameters:
1892       - functest-kubernetes-node:
1893           node: '{node}'
1894     builders:
1895       - functest-kubernetes-grype:
1896           <<: *functest-kubernetes-containers
1897     publishers:
1898       - email-ext:
1899           failure: false
1900           first-failure: true
1901           fixed: true
1902           recipients: cedric.ollivier@orange.com
1903
1904 - project:
1905     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-grype'
1906     <<: *functest-kubernetes-params
1907     repo: 'opnfv'
1908     container: 'functest-kubernetes-smoke'
1909     port:
1910     jobs:
1911       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-grype'
1912
1913 - job-template:
1914     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-grype'
1915     triggers:
1916       - timed: '@weekly'
1917     parameters:
1918       - functest-kubernetes-node:
1919           node: '{node}'
1920     builders:
1921       - functest-kubernetes-grype:
1922           <<: *functest-kubernetes-containers
1923     publishers:
1924       - email-ext:
1925           failure: false
1926           first-failure: true
1927           fixed: true
1928           recipients: cedric.ollivier@orange.com
1929
1930 - project:
1931     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-grype'
1932     <<: *functest-kubernetes-params
1933     repo: 'opnfv'
1934     container: 'functest-kubernetes-benchmarking'
1935     port:
1936     jobs:
1937       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-grype'
1938
1939 - builder:
1940     name: functest-kubernetes-sbom
1941     builders:
1942       - shell: |
1943           apt-get -o DPkg::Lock::Timeout=300 update && \
1944           DEBIAN_FRONTEND=noninteractive apt-get \
1945             -o DPkg::Lock::Timeout=300 install curl -y
1946
1947           mkdir -p ~/.docker
1948           curl -sSfL https://raw.githubusercontent.com/docker/sbom-cli-plugin/main/install.sh | sh -s --
1949           if [ "{repo}" = "_" ]; then
1950             image={container}:{tag}
1951           elif [ "{port}" = "None" ]; then
1952             image={repo}/{container}:{tag}
1953           else
1954             image={repo}:{port}/{container}:{tag}
1955           fi
1956           docker sbom $image
1957
1958 - job-template:
1959     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-sbom'
1960     triggers:
1961       - timed: '@weekly'
1962     parameters:
1963       - functest-kubernetes-node:
1964           node: '{node}'
1965     builders:
1966       - functest-kubernetes-sbom:
1967           <<: *functest-kubernetes-containers
1968     publishers:
1969       - email-ext:
1970           failure: false
1971           first-failure: true
1972           fixed: true
1973           recipients: cedric.ollivier@orange.com
1974
1975 - project:
1976     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-sbom'
1977     <<: *functest-kubernetes-params
1978     repo: 'opnfv'
1979     container: 'functest-kubernetes-core'
1980     port:
1981     jobs:
1982       - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-sbom'
1983
1984 - job-template:
1985     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-sbom'
1986     triggers:
1987       - timed: '@weekly'
1988     parameters:
1989       - functest-kubernetes-node:
1990           node: '{node}'
1991     builders:
1992       - functest-kubernetes-sbom:
1993           <<: *functest-kubernetes-containers
1994     publishers:
1995       - email-ext:
1996           failure: false
1997           first-failure: true
1998           fixed: true
1999           recipients: cedric.ollivier@orange.com
2000
2001 - project:
2002     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-sbom'
2003     <<: *functest-kubernetes-params
2004     repo: 'opnfv'
2005     container: 'functest-kubernetes-healthcheck'
2006     port:
2007     jobs:
2008       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-sbom'
2009
2010 - job-template:
2011     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-sbom'
2012     triggers:
2013       - timed: '@weekly'
2014     parameters:
2015       - functest-kubernetes-node:
2016           node: '{node}'
2017     builders:
2018       - functest-kubernetes-sbom:
2019           <<: *functest-kubernetes-containers
2020     publishers:
2021       - email-ext:
2022           failure: false
2023           first-failure: true
2024           fixed: true
2025           recipients: cedric.ollivier@orange.com
2026
2027 - project:
2028     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-sbom'
2029     <<: *functest-kubernetes-params
2030     repo: 'opnfv'
2031     container: 'functest-kubernetes-cnf'
2032     port:
2033     jobs:
2034       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-sbom'
2035
2036 - job-template:
2037     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-sbom'
2038     triggers:
2039       - timed: '@weekly'
2040     parameters:
2041       - functest-kubernetes-node:
2042           node: '{node}'
2043     builders:
2044       - functest-kubernetes-sbom:
2045           <<: *functest-kubernetes-containers
2046     publishers:
2047       - email-ext:
2048           failure: false
2049           first-failure: true
2050           fixed: true
2051           recipients: cedric.ollivier@orange.com
2052
2053 - project:
2054     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-sbom'
2055     <<: *functest-kubernetes-params
2056     repo: 'opnfv'
2057     container: 'functest-kubernetes-security'
2058     port:
2059     jobs:
2060       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-sbom'
2061
2062 - job-template:
2063     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sbom'
2064     triggers:
2065       - timed: '@weekly'
2066     parameters:
2067       - functest-kubernetes-node:
2068           node: '{node}'
2069     builders:
2070       - functest-kubernetes-sbom:
2071           <<: *functest-kubernetes-containers
2072     publishers:
2073       - email-ext:
2074           failure: false
2075           first-failure: true
2076           fixed: true
2077           recipients: cedric.ollivier@orange.com
2078
2079 - project:
2080     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-sbom'
2081     <<: *functest-kubernetes-params
2082     repo: 'opnfv'
2083     container: 'functest-kubernetes-smoke'
2084     port:
2085     jobs:
2086       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sbom'
2087
2088 - job-template:
2089     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-sbom'
2090     triggers:
2091       - timed: '@weekly'
2092     parameters:
2093       - functest-kubernetes-node:
2094           node: '{node}'
2095     builders:
2096       - functest-kubernetes-sbom:
2097           <<: *functest-kubernetes-containers
2098     publishers:
2099       - email-ext:
2100           failure: false
2101           first-failure: true
2102           fixed: true
2103           recipients: cedric.ollivier@orange.com
2104
2105 - project:
2106     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-sbom'
2107     <<: *functest-kubernetes-params
2108     repo: 'opnfv'
2109     container: 'functest-kubernetes-benchmarking'
2110     port:
2111     jobs:
2112       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-sbom'
2113
2114 - view:
2115     name: functest-kubernetes-docker
2116     view-type: list
2117     columns:
2118       - status
2119       - weather
2120       - job
2121       - last-success
2122       - last-failure
2123       - last-duration
2124     regex: ^functest-kubernetes-[a-z0-9.-]+-docker$
2125
2126 - view:
2127     name: functest-kubernetes-trivy
2128     view-type: list
2129     columns:
2130       - status
2131       - weather
2132       - job
2133       - last-success
2134       - last-failure
2135       - last-duration
2136     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$
2137
2138 - view:
2139     name: functest-kubernetes-grype
2140     view-type: list
2141     columns:
2142       - status
2143       - weather
2144       - job
2145       - last-success
2146       - last-failure
2147       - last-duration
2148     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-grype$
2149
2150 - view:
2151     name: functest-kubernetes-sbom
2152     view-type: list
2153     columns:
2154       - status
2155       - weather
2156       - job
2157       - last-success
2158       - last-failure
2159       - last-duration
2160     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-sbom$