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