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