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