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