Merge "Support CentOS 7 in GoogleStorage Gitlab template"
[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     repo: 'opnfv'
12     port:
13     tag:
14       - latest:
15           from:
16           build_args:
17           branch: master
18           slave: lf-virtual1-8
19           dependency: 3.14
20       - v1.23:
21           from:
22           build_args:
23           branch: stable/v1.23
24           slave: lf-virtual1-9
25           dependency: 3.14
26       - v1.22:
27           from:
28           build_args:
29           branch: stable/v1.22
30           slave: lf-virtual1-7
31           dependency: 3.14
32       - v1.21:
33           from:
34           build_args:
35           branch: stable/v1.21
36           slave: lf-virtual1-6
37           dependency: 3.13
38       - leguer:
39           from:
40           build_args:
41           branch: stable/leguer
42           slave: lf-virtual1-5
43           dependency: 3.12
44       - kali:
45           from:
46           build_args:
47           branch: stable/kali
48           slave: lf-virtual1-4
49           dependency: 3.11
50
51 - functest-kubernetes-jobs: &functest-kubernetes-jobs
52     name: 'functest-kubernetes-jobs'
53     current-parameters: true
54
55 - parameter:
56     name: functest-kubernetes-slave
57     parameters:
58       - label:
59           name: slave
60           default: '{slave}'
61
62 - parameter:
63     name: functest-kubernetes-build_tag
64     parameters:
65       - random-string:
66           name: build_tag
67
68 - parameter:
69     name: functest-kubernetes-DEPLOY_SCENARIO
70     parameters:
71       - string:
72           name: DEPLOY_SCENARIO
73           default: k8-nosdn-nofeature-noha
74
75 - parameter:
76     name: functest-kubernetes-E2E_TEST_OPTS
77     parameters:
78       - string:
79           name: E2E_TEST_OPTS
80           default: container-runtime:containerd
81
82 - functest-kubernetes-run-containers: &functest-kubernetes-run-containers
83     name: 'functest-kubernetes-run-containers'
84     <<: *functest-kubernetes-containers
85     test: '{test}'
86     privileged: '{privileged}'
87     volumes: '{volumes}'
88     env: '{env}'
89     network: '{network}'
90
91 - builder:
92     name: functest-kubernetes-pull-containers
93     builders:
94       - shell: |
95           set +x
96           if [ "{repo}" = "_" ]; then
97             image={container}:{tag}
98           elif [ "{port}" = "None" ]; then
99             image={repo}/{container}:{tag}
100           else
101             image={repo}:{port}/{container}:{tag}
102           fi
103           docker pull $image
104
105 - builder:
106     name: functest-kubernetes-run-containers
107     builders:
108       - shell: |
109           set +x
110           volumes=;
111           if [ "{volumes}" != "None" ]; then
112             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
113               do volumes="-v $i $volumes"; done
114           fi
115           env=;
116           if [ "{env}" != "None" ]; then
117             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
118               do env="-e $i $env"; done
119           fi
120           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
121           if [ "{repo}" = "_" ]; then
122             image={container}:{tag}
123           elif [ "{port}" = "None" ]; then
124             image={repo}/{container}:{tag}
125           else
126             image={repo}:{port}/{container}:{tag}
127           fi
128           docker run --rm \
129             --privileged={privileged} \
130             --network={network} \
131             $volumes \
132             $env \
133             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
134             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
135             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
136             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
137             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
138             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
139             -e NODE_NAME=$slave \
140             -e BUILD_TAG=$BUILD_TAG \
141             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
142             $image run_tests -t {test} -p -r
143
144 - builder:
145     name: functest-kubernetes-remove-images
146     builders:
147       - shell: |
148           set +x
149           if [ "{repo}" = "_" ]; then
150             image={container}:{tag}
151           elif [ "{port}" = "None" ]; then
152             image={repo}/{container}:{tag}
153           else
154             image={repo}:{port}/{container}:{tag}
155           fi
156           docker rmi $image || true
157
158 - job-template:
159     name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
160     parameters:
161       - functest-kubernetes-slave:
162           slave: '{slave}'
163     builders:
164       - functest-kubernetes-pull-containers:
165           <<: *functest-kubernetes-containers
166
167 - project:
168     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
169     <<: *functest-kubernetes-params
170     container: 'functest-kubernetes-healthcheck'
171     jobs:
172       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
173
174 - project:
175     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
176     <<: *functest-kubernetes-params
177     container: 'functest-kubernetes-smoke'
178     jobs:
179       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
180
181 - project:
182     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
183     <<: *functest-kubernetes-params
184     container: 'functest-kubernetes-security'
185     jobs:
186       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
187
188 - project:
189     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
190     <<: *functest-kubernetes-params
191     container: 'functest-kubernetes-benchmarking'
192     jobs:
193       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
194
195 - project:
196     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
197     <<: *functest-kubernetes-params
198     container: 'functest-kubernetes-cnf'
199     jobs:
200       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
201
202 - job-template:
203     name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
204     parameters:
205       - functest-kubernetes-slave:
206           slave: '{slave}'
207     builders:
208       - functest-kubernetes-remove-images:
209           <<: *functest-kubernetes-containers
210
211 - project:
212     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
213     <<: *functest-kubernetes-params
214     container: 'functest-kubernetes-healthcheck'
215     jobs:
216       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
217
218 - project:
219     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
220     <<: *functest-kubernetes-params
221     container: 'functest-kubernetes-smoke'
222     jobs:
223       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
224
225 - project:
226     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
227     <<: *functest-kubernetes-params
228     container: 'functest-kubernetes-security'
229     jobs:
230       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
231
232 - project:
233     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
234     <<: *functest-kubernetes-params
235     container: 'functest-kubernetes-benchmarking'
236     jobs:
237       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
238
239 - project:
240     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
241     <<: *functest-kubernetes-params
242     container: 'functest-kubernetes-cnf'
243     jobs:
244       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
245
246 - job-template:
247     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
248     parameters:
249       - functest-kubernetes-slave:
250           slave: '{slave}'
251       - functest-kubernetes-build_tag:
252           build_tag: ''
253       - functest-kubernetes-DEPLOY_SCENARIO:
254           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
255       - functest-kubernetes-E2E_TEST_OPTS:
256           E2E_TEST_OPTS: container-runtime:containerd
257     builders:
258       - functest-kubernetes-run-containers:
259           <<: *functest-kubernetes-run-containers
260
261 - project:
262     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
263     <<: *functest-kubernetes-params
264     volumes:
265       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
266     env:
267       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
268       - E2E_TEST_OPTS=$E2E_TEST_OPTS
269     container: 'functest-kubernetes-healthcheck'
270     test:
271       - k8s_quick
272       - k8s_smoke
273     privileged: 'false'
274     network: bridge
275     jobs:
276       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
277
278 - job-template:
279     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
280     parameters:
281       - functest-kubernetes-slave:
282           slave: '{slave}'
283       - functest-kubernetes-build_tag:
284           build_tag: ''
285       - functest-kubernetes-DEPLOY_SCENARIO:
286           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
287       - functest-kubernetes-E2E_TEST_OPTS:
288           E2E_TEST_OPTS: container-runtime:containerd
289     builders:
290       - functest-kubernetes-run-containers:
291           <<: *functest-kubernetes-run-containers
292
293 - project:
294     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
295     <<: *functest-kubernetes-params
296     volumes:
297       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
298     env:
299       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
300       - E2E_TEST_OPTS=$E2E_TEST_OPTS
301     container: 'functest-kubernetes-smoke'
302     test:
303       - xrally_kubernetes
304       - k8s_io
305       - k8s_conformance
306       - k8s_conformance_serial
307       - sig_api_machinery
308       - sig_api_machinery_serial
309       - sig_apps
310       - sig_apps_serial
311       - sig_auth
312       - sig_cluster_lifecycle
313       - sig_instrumentation
314       - sig_network
315       - sig_node
316       - sig_scheduling_serial
317       - sig_storage
318       - sig_storage_serial
319     privileged: 'false'
320     network: bridge
321     exclude:
322       - tag: latest
323         test: k8s_io
324       - tag: v1.23
325         test: k8s_io
326       - tag: v1.22
327         test: k8s_io
328       - tag: v1.21
329         test: k8s_io
330     jobs:
331       - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
332
333 - job-template:
334     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
335     parameters:
336       - functest-kubernetes-slave:
337           slave: '{slave}'
338       - functest-kubernetes-build_tag:
339           build_tag: ''
340       - functest-kubernetes-DEPLOY_SCENARIO:
341           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
342       - functest-kubernetes-E2E_TEST_OPTS:
343           E2E_TEST_OPTS: container-runtime:containerd
344     builders:
345       - functest-kubernetes-run-containers:
346           <<: *functest-kubernetes-run-containers
347
348 - project:
349     name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
350     <<: *functest-kubernetes-params
351     volumes:
352       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
353     env:
354       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
355       - E2E_TEST_OPTS=$E2E_TEST_OPTS
356     container: 'functest-kubernetes-security'
357     test:
358       - kube_hunter
359       - kube_bench_master
360       - kube_bench_node
361     privileged: 'false'
362     network: bridge
363     jobs:
364       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
365
366 - job-template:
367     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
368     parameters:
369       - functest-kubernetes-slave:
370           slave: '{slave}'
371       - functest-kubernetes-build_tag:
372           build_tag: ''
373       - functest-kubernetes-DEPLOY_SCENARIO:
374           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
375       - functest-kubernetes-E2E_TEST_OPTS:
376           E2E_TEST_OPTS: container-runtime:containerd
377     builders:
378       - functest-kubernetes-run-containers:
379           <<: *functest-kubernetes-run-containers
380
381 - project:
382     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
383     <<: *functest-kubernetes-params
384     volumes:
385       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
386     env:
387       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
388       - E2E_TEST_OPTS=$E2E_TEST_OPTS
389     container: 'functest-kubernetes-benchmarking'
390     test:
391       - xrally_kubernetes_full
392       - netperf
393     privileged: 'false'
394     network: bridge
395     jobs:
396       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
397
398 - job-template:
399     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
400     parameters:
401       - functest-kubernetes-slave:
402           slave: '{slave}'
403       - functest-kubernetes-build_tag:
404           build_tag: ''
405       - functest-kubernetes-DEPLOY_SCENARIO:
406           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
407       - functest-kubernetes-E2E_TEST_OPTS:
408           E2E_TEST_OPTS: container-runtime:containerd
409     builders:
410       - functest-kubernetes-run-containers:
411           <<: *functest-kubernetes-run-containers
412
413 - project:
414     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
415     <<: *functest-kubernetes-params
416     volumes:
417       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
418     env:
419       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
420       - E2E_TEST_OPTS=$E2E_TEST_OPTS
421     container: 'functest-kubernetes-cnf'
422     test:
423       - k8s_vims
424       - helm_vims
425       - cnf_testsuite
426     privileged: 'false'
427     network: bridge
428     jobs:
429       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
430
431 - builder:
432     name: functest-kubernetes-zip
433     builders:
434       - shell: |
435           set +x
436           volumes=;
437           if [ "{volumes}" != "None" ]; then
438             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
439               do volumes="-v $i $volumes"; done
440           fi
441           env=;
442           if [ "{env}" != "None" ]; then
443             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
444               do env="-e $i $env"; done
445           fi
446           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
447           if [ "{repo}" = "_" ]; then
448             image={container}:{tag}
449           elif [ "{port}" = "None" ]; then
450             image={repo}/{container}:{tag}
451           else
452             image={repo}:{port}/{container}:{tag}
453           fi
454           docker run --rm \
455             $volumes \
456             $env \
457             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
458             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
459             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
460             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
461             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
462             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
463             -e BUILD_TAG=$BUILD_TAG \
464             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
465             $image zip_campaign
466
467 - job-template:
468     name: 'functest-kubernetes-{tag}-zip'
469     parameters:
470       - functest-kubernetes-slave:
471           slave: '{slave}'
472       - functest-kubernetes-build_tag:
473           build_tag: ''
474       - functest-kubernetes-DEPLOY_SCENARIO:
475           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
476       - functest-kubernetes-E2E_TEST_OPTS:
477           E2E_TEST_OPTS: container-runtime:containerd
478     builders:
479       - functest-kubernetes-zip:
480           <<: *functest-kubernetes-containers
481           volumes: '{volumes}'
482           env: '{env}'
483
484 - project:
485     name: 'functest-kubernetes-{tag}-zip'
486     <<: *functest-kubernetes-params
487     volumes:
488       - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
489     env:
490       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
491       - E2E_TEST_OPTS=$E2E_TEST_OPTS
492     container: 'functest-kubernetes-healthcheck'
493     jobs:
494       - 'functest-kubernetes-{tag}-zip'
495
496 - job-template:
497     name: 'functest-kubernetes-{tag}-daily'
498     project-type: multijob
499     triggers:
500       - timed: '@weekly'
501     parameters:
502       - functest-kubernetes-slave:
503           slave: '{slave}'
504       - functest-kubernetes-build_tag:
505           build_tag: ''
506       - functest-kubernetes-DEPLOY_SCENARIO:
507           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
508       - functest-kubernetes-E2E_TEST_OPTS:
509           E2E_TEST_OPTS: container-runtime:containerd
510     # PyYAML and yamllint differ here
511     # see https://github.com/yaml/pyyaml/issues/234
512     # yamllint disable rule:indentation
513     properties:
514       - build-blocker:
515           blocking-jobs:
516           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
517     # yamllint enable rule:indentation
518     builders:
519       - multijob:
520           name: remove former images
521           projects:
522             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
523               <<: *functest-kubernetes-jobs
524             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
525               <<: *functest-kubernetes-jobs
526             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
527               <<: *functest-kubernetes-jobs
528             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
529               <<: *functest-kubernetes-jobs
530             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
531               <<: *functest-kubernetes-jobs
532       - multijob:
533           name: pull containers
534           projects:
535             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
536               <<: *functest-kubernetes-jobs
537             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
538               <<: *functest-kubernetes-jobs
539             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
540               <<: *functest-kubernetes-jobs
541             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
542               <<: *functest-kubernetes-jobs
543             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
544               <<: *functest-kubernetes-jobs
545       - multijob:
546           name: opnfv/functest-kubernetes-healthcheck:{tag}
547           projects:
548             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
549               <<: *functest-kubernetes-jobs
550             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
551               <<: *functest-kubernetes-jobs
552       - multijob:
553           name: opnfv/functest-kubernetes-smoke:{tag}
554           execution-type: SEQUENTIALLY
555           projects:
556             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
557               <<: *functest-kubernetes-jobs
558             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_io-run'
559               <<: *functest-kubernetes-jobs
560             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
561               <<: *functest-kubernetes-jobs
562             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
563               <<: *functest-kubernetes-jobs
564             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
565               <<: *functest-kubernetes-jobs
566             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
567               <<: *functest-kubernetes-jobs
568             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
569               <<: *functest-kubernetes-jobs
570             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
571               <<: *functest-kubernetes-jobs
572             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
573               <<: *functest-kubernetes-jobs
574             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
575               <<: *functest-kubernetes-jobs
576             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
577               <<: *functest-kubernetes-jobs
578             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
579               <<: *functest-kubernetes-jobs
580             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
581               <<: *functest-kubernetes-jobs
582             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
583               <<: *functest-kubernetes-jobs
584             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
585               <<: *functest-kubernetes-jobs
586             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
587               <<: *functest-kubernetes-jobs
588       - multijob:
589           name: opnfv/functest-kubernetes-security:{tag}
590           projects:
591             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
592               <<: *functest-kubernetes-jobs
593             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
594               <<: *functest-kubernetes-jobs
595             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
596               <<: *functest-kubernetes-jobs
597       - multijob:
598           name: opnfv/functest-kubernetes-benchmarking:{tag}
599           projects:
600             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
601               <<: *functest-kubernetes-jobs
602             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
603               <<: *functest-kubernetes-jobs
604       - multijob:
605           name: opnfv/functest-kubernetes-cnf:{tag}
606           projects:
607             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
608               <<: *functest-kubernetes-jobs
609             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
610               <<: *functest-kubernetes-jobs
611             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
612               <<: *functest-kubernetes-jobs
613       - multijob:
614           name: dump all campaign data
615           projects:
616             - name: 'functest-kubernetes-{tag}-zip'
617               <<: *functest-kubernetes-jobs
618     publishers:
619       - email:
620           recipients: cedric.ollivier@orange.com
621
622 - project:
623     name: 'functest-kubernetes-daily'
624     <<: *functest-kubernetes-params
625     jobs:
626       - 'functest-kubernetes-{tag}-daily'
627
628 - view:
629     name: functest-kubernetes
630     view-type: list
631     columns:
632       - status
633       - weather
634       - job
635       - last-success
636       - last-failure
637       - last-duration
638     regex: ^functest-kubernetes-[a-z0-9.]+-daily$
639
640 - functest-kubernetes-build-containers: &functest-kubernetes-build-containers
641     name: 'functest-kubernetes-build-containers'
642     <<: *functest-kubernetes-containers
643     ref_arg: '{ref_arg}'
644     path: '{path}'
645     build_args: '{build_args}'
646     from: '{from}'
647
648 - builder:
649     name: functest-kubernetes-build-containers
650     builders:
651       - shell: |
652           set +x
653           if [ "{repo}" = "_" ]; then
654             image={container}:{tag}
655           elif [ "{port}" = "None" ]; then
656             image={repo}/{container}:{tag}
657           else
658             image={repo}:{port}/{container}:{tag}
659           fi
660           build_args=""
661           if [ "{build_args}" != "None" ]; then
662             for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
663               do build_args="--build-arg $i $build_args"; done
664           fi
665           if [ "{ref_arg}" != "None" ]; then
666             build_args="$build_args --build-arg {ref_arg}={ref}"
667           fi
668           cd {path}
669           if [ "{from}" != "None" ]; then
670               sed -i {from} Dockerfile
671           fi
672           docker build $build_args \
673             --pull=false --no-cache --force-rm=true \
674             -t $image .
675
676 - scm:
677     name: functest-kubernetes-scm
678     scm:
679       - git:
680           url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
681           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
682           branches:
683             - '{ref}'
684
685 - functest-kubernetes-dep: &functest-kubernetes-dep
686     name: 'functest-kubernetes-containers'
687     repo: '{repo}'
688     port: '{port}'
689     tag: '{tag}'
690     dependency: '{dependency}'
691
692 - builder:
693     name: functest-kubernetes-pull-dep-images
694     builders:
695       - shell: |
696           set +x
697           if [ "_" = "_" ]; then
698             image=alpine:{dependency}
699           elif [ "None" = "None" ]; then
700             image=_/alpine:{dependency}
701           else
702             image=_:/alpine:{dependency}
703           fi
704           docker pull $image || true
705
706 - builder:
707     name: functest-kubernetes-remove-dep-images
708     builders:
709       - shell: |
710           set +x
711           if [ "_" = "_" ]; then
712             image=alpine:{dependency}
713           elif [ "" = "None" ]; then
714             image=_/alpine:{dependency}
715           else
716             image=_:/alpine:{dependency}
717           fi
718           docker rmi $image || true
719
720 - job-template:
721     name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
722     parameters:
723       - functest-kubernetes-slave:
724           slave: '{slave}'
725     builders:
726       - functest-kubernetes-pull-dep-images:
727           <<: *functest-kubernetes-dep
728
729 - project:
730     name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
731     <<: *functest-kubernetes-params
732     jobs:
733       - 'functest-kubernetes-{repo}-{tag}-dep-pull'
734
735 - job-template:
736     name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
737     parameters:
738       - functest-kubernetes-slave:
739           slave: '{slave}'
740     builders:
741       - functest-kubernetes-remove-dep-images:
742           <<: *functest-kubernetes-dep
743
744 - project:
745     name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
746     <<: *functest-kubernetes-params
747     jobs:
748       - 'functest-kubernetes-{repo}-{tag}-dep-rmi'
749
750 - builder:
751     name: functest-kubernetes-tox
752     builders:
753       - shell: |
754           set +x
755           apt-get -o DPkg::Lock::Timeout=300 update && \
756           DEBIAN_FRONTEND=noninteractive apt-get \
757             -o DPkg::Lock::Timeout=300 dist-upgrade -y
758           DEBIAN_FRONTEND=noninteractive \
759           apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
760           add-apt-repository -y ppa:deadsnakes/ppa
761           apt-get -o DPkg::Lock::Timeout=300 update && \
762           DEBIAN_FRONTEND=noninteractive apt-get \
763             -o DPkg::Lock::Timeout=300 install \
764             python3.9 python3.9-dev python3.9-distutils \
765             python3.8 python3.8-dev python3.8-distutils \
766             python3.7 python3.7-dev python3.6 python3.6-dev \
767             python python-dev python3-pip enchant -y
768           pip3 install tox tox-pip-version
769
770           tox
771
772 - job-template:
773     name: 'functest-kubernetes-{tag}-tox'
774     scm:
775       - functest-kubernetes-scm:
776           ref: $GERRIT_REFSPEC
777     triggers:
778       - functest-kubernetes-patchset-created:
779           branch: '{branch}'
780     parameters:
781       - functest-kubernetes-slave:
782           slave: '{slave}'
783     builders:
784       - functest-kubernetes-tox:
785
786 - project:
787     name: functest-kubernetes-tox
788     <<: *functest-kubernetes-params
789     jobs:
790       - 'functest-kubernetes-{tag}-tox'
791
792 - job-template:
793     name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
794     parameters:
795       - functest-kubernetes-slave:
796           slave: '{slave}'
797     scm:
798       - functest-kubernetes-scm:
799           ref: $GERRIT_REFSPEC
800     builders:
801       - functest-kubernetes-build-containers:
802           <<: *functest-kubernetes-build-containers
803           ref: $GERRIT_REFSPEC
804           build_args: '{build_args}'
805
806 - project:
807     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate
808     <<: *functest-kubernetes-params
809     container: functest-kubernetes-core
810     ref_arg: BRANCH
811     path: docker/core
812     jobs:
813       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
814
815 - project:
816     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate
817     <<: *functest-kubernetes-params
818     container: functest-kubernetes-healthcheck
819     ref_arg:
820     path: docker/healthcheck
821     jobs:
822       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
823
824 - project:
825     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate
826     <<: *functest-kubernetes-params
827     container: functest-kubernetes-cnf
828     ref_arg: BRANCH
829     path: docker/cnf
830     jobs:
831       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
832
833 - project:
834     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate
835     <<: *functest-kubernetes-params
836     container: functest-kubernetes-security
837     ref_arg: BRANCH
838     path: docker/security
839     jobs:
840       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
841
842 - project:
843     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate
844     <<: *functest-kubernetes-params
845     container: functest-kubernetes-smoke
846     ref_arg:
847     path: docker/smoke
848     jobs:
849       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
850
851 - project:
852     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate
853     <<: *functest-kubernetes-params
854     container: functest-kubernetes-benchmarking
855     ref_arg:
856     path: docker/benchmarking
857     jobs:
858       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
859
860 - trigger:
861     name: functest-kubernetes-patchset-created
862     triggers:
863       - gerrit:
864           trigger-on:
865             - patchset-created-event
866             - comment-added-contains-event:
867                 comment-contains-value: 'recheck'
868             - comment-added-contains-event:
869                 comment-contains-value: 'reverify'
870           projects:
871             - project-compare-type: 'ANT'
872               project-pattern: 'functest-kubernetes'
873               branches:
874                 - branch-compare-type: 'ANT'
875                   branch-pattern: '**/{branch}'
876
877 - job-template:
878     name: 'functest-kubernetes-{tag}-review'
879     project-type: multijob
880     triggers:
881       - functest-kubernetes-patchset-created:
882           branch: '{branch}'
883     parameters:
884       - functest-kubernetes-slave:
885           slave: '{slave}'
886       - functest-kubernetes-build_tag:
887           build_tag: ''
888       - functest-kubernetes-DEPLOY_SCENARIO:
889           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
890       - functest-kubernetes-E2E_TEST_OPTS:
891           E2E_TEST_OPTS: container-runtime:containerd
892     # PyYAML and yamllint differ here
893     # see https://github.com/yaml/pyyaml/issues/234
894     # yamllint disable rule:indentation
895     properties:
896       - build-blocker:
897           blocking-jobs:
898           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
899     # yamllint enable rule:indentation
900     builders:
901       - multijob:
902           name: remove former images
903           projects:
904             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
905               <<: *functest-kubernetes-jobs
906             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
907               <<: *functest-kubernetes-jobs
908             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
909               <<: *functest-kubernetes-jobs
910             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
911               <<: *functest-kubernetes-jobs
912             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
913               <<: *functest-kubernetes-jobs
914       - multijob:
915           name: remove dependency
916           projects:
917             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
918               <<: *functest-kubernetes-jobs
919       - multijob:
920           name: pull dependency
921           projects:
922             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
923               <<: *functest-kubernetes-jobs
924       - multijob:
925           name: build opnfv/functest-kubernetes-core
926           projects:
927             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
928               <<: *functest-kubernetes-jobs
929       - multijob:
930           name: build containers
931           projects:
932             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
933               <<: *functest-kubernetes-jobs
934             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
935               <<: *functest-kubernetes-jobs
936             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
937               <<: *functest-kubernetes-jobs
938       - multijob:
939           name: build opnfv/functest-kubernetes-smoke
940           projects:
941             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
942               <<: *functest-kubernetes-jobs
943       - multijob:
944           name: build opnfv/functest-kubernetes-benchmarking
945           projects:
946             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
947               <<: *functest-kubernetes-jobs
948       - multijob:
949           name: opnfv/functest-kubernetes-healthcheck:{tag}
950           projects:
951             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
952               <<: *functest-kubernetes-jobs
953             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
954               <<: *functest-kubernetes-jobs
955       - multijob:
956           name: opnfv/functest-kubernetes-smoke:{tag}
957           execution-type: SEQUENTIALLY
958           projects:
959             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
960               <<: *functest-kubernetes-jobs
961             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_io-run'
962               <<: *functest-kubernetes-jobs
963             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
964               <<: *functest-kubernetes-jobs
965             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
966               <<: *functest-kubernetes-jobs
967             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
968               <<: *functest-kubernetes-jobs
969             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
970               <<: *functest-kubernetes-jobs
971             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
972               <<: *functest-kubernetes-jobs
973             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
974               <<: *functest-kubernetes-jobs
975             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
976               <<: *functest-kubernetes-jobs
977             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
978               <<: *functest-kubernetes-jobs
979             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
980               <<: *functest-kubernetes-jobs
981             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
982               <<: *functest-kubernetes-jobs
983             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
984               <<: *functest-kubernetes-jobs
985             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
986               <<: *functest-kubernetes-jobs
987             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
988               <<: *functest-kubernetes-jobs
989             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
990               <<: *functest-kubernetes-jobs
991       - multijob:
992           name: opnfv/functest-kubernetes-security:{tag}
993           projects:
994             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
995               <<: *functest-kubernetes-jobs
996             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
997               <<: *functest-kubernetes-jobs
998             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
999               <<: *functest-kubernetes-jobs
1000       - multijob:
1001           name: opnfv/functest-kubernetes-benchmarking:{tag}
1002           projects:
1003             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
1004               <<: *functest-kubernetes-jobs
1005             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
1006               <<: *functest-kubernetes-jobs
1007       - multijob:
1008           name: opnfv/functest-kubernetes-cnf:{tag}
1009           projects:
1010             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
1011               <<: *functest-kubernetes-jobs
1012             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
1013               <<: *functest-kubernetes-jobs
1014             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
1015               <<: *functest-kubernetes-jobs
1016     publishers:
1017       - email:
1018           recipients: cedric.ollivier@orange.com
1019
1020 - project:
1021     name: 'functest-kubernetes-review'
1022     <<: *functest-kubernetes-params
1023     jobs:
1024       - 'functest-kubernetes-{tag}-review'
1025
1026 - view:
1027     name: functest-kubernetes-review
1028     view-type: list
1029     columns:
1030       - status
1031       - weather
1032       - job
1033       - last-success
1034       - last-failure
1035       - last-duration
1036     regex: ^functest-kubernetes-[a-z0-9.]+-review$
1037
1038 - view:
1039     name: functest-kubernetes-tox
1040     view-type: list
1041     columns:
1042       - status
1043       - weather
1044       - job
1045       - last-success
1046       - last-failure
1047       - last-duration
1048     regex: ^functest-kubernetes-[a-z0-9.]+-tox$
1049
1050 - builder:
1051     name: functest-kubernetes-push-containers
1052     builders:
1053       - shell: |
1054           set +x
1055           if [ "{repo}" = "_" ]; then
1056             image={container}:{tag}
1057           elif [ "{port}" = "None" ]; then
1058             image={repo}/{container}:{tag}
1059           else
1060             image={repo}:{port}/{container}:{tag}
1061           fi
1062           docker push $image
1063
1064 - trigger:
1065     name: functest-kubernetes-commit
1066     triggers:
1067       - pollscm:
1068           cron: "*/30 * * * *"
1069
1070 - job-template:
1071     name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
1072     parameters:
1073       - functest-kubernetes-slave:
1074           slave: '{slave}'
1075     scm:
1076       - functest-kubernetes-scm:
1077           ref: '{branch}'
1078     builders:
1079       - functest-kubernetes-build-containers:
1080           <<: *functest-kubernetes-build-containers
1081           ref: '{branch}'
1082           build_args: '{build_args}'
1083       - functest-kubernetes-push-containers:
1084           <<: *functest-kubernetes-build-containers
1085           ref: '{branch}'
1086
1087 - project:
1088     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
1089     <<: *functest-kubernetes-params
1090     container: functest-kubernetes-core
1091     ref_arg: BRANCH
1092     path: docker/core
1093     jobs:
1094       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1095
1096 - project:
1097     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
1098     <<: *functest-kubernetes-params
1099     container: functest-kubernetes-healthcheck
1100     ref_arg:
1101     path: docker/healthcheck
1102     jobs:
1103       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1104
1105 - project:
1106     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
1107     <<: *functest-kubernetes-params
1108     container: functest-kubernetes-cnf
1109     ref_arg: BRANCH
1110     path: docker/cnf
1111     jobs:
1112       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1113
1114 - project:
1115     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
1116     <<: *functest-kubernetes-params
1117     container: functest-kubernetes-security
1118     ref_arg: BRANCH
1119     path: docker/security
1120     jobs:
1121       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1122
1123 - project:
1124     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
1125     <<: *functest-kubernetes-params
1126     container: functest-kubernetes-smoke
1127     ref_arg:
1128     path: docker/smoke
1129     jobs:
1130       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1131
1132 - project:
1133     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
1134     <<: *functest-kubernetes-params
1135     container: functest-kubernetes-benchmarking
1136     ref_arg:
1137     path: docker/benchmarking
1138     jobs:
1139       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
1140
1141 - job-template:
1142     name: 'functest-kubernetes-{tag}-docker'
1143     project-type: multijob
1144     triggers:
1145       - functest-kubernetes-commit
1146     scm:
1147       - functest-kubernetes-scm:
1148           ref: '{branch}'
1149     parameters:
1150       - functest-kubernetes-slave:
1151           slave: '{slave}'
1152     # PyYAML and yamllint differ here
1153     # see https://github.com/yaml/pyyaml/issues/234
1154     # yamllint disable rule:indentation
1155     properties:
1156       - build-blocker:
1157           blocking-jobs:
1158           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
1159     # yamllint enable rule:indentation
1160     builders:
1161       - multijob:
1162           name: remove dependency
1163           projects:
1164             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
1165               <<: *functest-kubernetes-jobs
1166       - multijob:
1167           name: pull dependency
1168           projects:
1169             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
1170               <<: *functest-kubernetes-jobs
1171       - multijob:
1172           name: build opnfv/functest-kubernetes-core
1173           projects:
1174             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1175               <<: *functest-kubernetes-jobs
1176       - multijob:
1177           name: build containers
1178           projects:
1179             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1180               <<: *functest-kubernetes-jobs
1181             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1182               <<: *functest-kubernetes-jobs
1183             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1184               <<: *functest-kubernetes-jobs
1185       - multijob:
1186           name: build opnfv/functest-kubernetes-smoke
1187           projects:
1188             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1189               <<: *functest-kubernetes-jobs
1190       - multijob:
1191           name: build opnfv/functest-kubernetes-benchmarking
1192           projects:
1193             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1194               <<: *functest-kubernetes-jobs
1195     publishers:
1196       - email:
1197           recipients: cedric.ollivier@orange.com
1198
1199 - builder:
1200     name: functest-kubernetes-trivy
1201     builders:
1202       - shell: |
1203           apt-get -o DPkg::Lock::Timeout=300 update && \
1204           DEBIAN_FRONTEND=noninteractive apt-get \
1205             -o DPkg::Lock::Timeout=300 install curl -y
1206
1207           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1208           if [ "{repo}" = "_" ]; then
1209             image={container}:{tag}
1210           elif [ "{port}" = "None" ]; then
1211             image={repo}/{container}:{tag}
1212           else
1213             image={repo}:{port}/{container}:{tag}
1214           fi
1215           ./trivy --exit-code 1 $image
1216
1217 - job-template:
1218     name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1219     triggers:
1220       - timed: '@weekly'
1221     parameters:
1222       - functest-kubernetes-slave:
1223           slave: '{slave}'
1224     builders:
1225       - functest-kubernetes-trivy:
1226           <<: *functest-kubernetes-containers
1227     publishers:
1228       - email:
1229           recipients: cedric.ollivier@orange.com
1230
1231 - project:
1232     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1233     <<: *functest-kubernetes-params
1234     container: 'functest-kubernetes-core'
1235     jobs:
1236       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1237
1238 - project:
1239     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1240     <<: *functest-kubernetes-params
1241     container: 'functest-kubernetes-healthcheck'
1242     jobs:
1243       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1244
1245 - project:
1246     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1247     <<: *functest-kubernetes-params
1248     container: 'functest-kubernetes-cnf'
1249     jobs:
1250       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1251
1252 - project:
1253     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1254     <<: *functest-kubernetes-params
1255     container: 'functest-kubernetes-security'
1256     jobs:
1257       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1258
1259 - project:
1260     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1261     <<: *functest-kubernetes-params
1262     container: 'functest-kubernetes-smoke'
1263     jobs:
1264       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1265
1266 - project:
1267     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1268     <<: *functest-kubernetes-params
1269     container: 'functest-kubernetes-benchmarking'
1270     jobs:
1271       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1272
1273 - project:
1274     name: 'functest-kubernetes'
1275     <<: *functest-kubernetes-params
1276     jobs:
1277       - 'functest-kubernetes-{tag}-docker'
1278
1279 - view:
1280     name: functest-kubernetes-docker
1281     view-type: list
1282     columns:
1283       - status
1284       - weather
1285       - job
1286       - last-success
1287       - last-failure
1288       - last-duration
1289     regex: ^functest-kubernetes-[a-z0-9.]+-docker$
1290
1291 - view:
1292     name: functest-kubernetes-trivy
1293     view-type: list
1294     columns:
1295       - status
1296       - weather
1297       - job
1298       - last-success
1299       - last-failure
1300       - last-duration
1301     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$