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