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