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