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