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