df255adfd757013551dacac994442022a176d0fa
[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-6
19           dependency: 3.13
20       - leguer:
21           from:
22           buildargs:
23           branch: stable/leguer
24           slave: functest_k8s_leguer
25           dependency: 3.12
26       - kali:
27           from:
28           buildargs:
29           branch: stable/kali
30           slave: lf-virtual1-4
31           dependency: 3.11
32       - jerma:
33           from:
34           buildargs:
35           branch: stable/jerma
36           slave: lf-virtual1-3
37           dependency: 3.10
38       - iruya:
39           from:
40           buildargs:
41           branch: stable/iruya
42           slave: lf-virtual1-2
43           dependency: 3.9
44       - hunter:
45           from:
46           buildargs:
47           branch: stable/hunter
48           slave: lf-virtual1-1
49           dependency: 3.9
50
51 - functest-kubernetes-jobs: &functest-kubernetes-jobs
52     name: 'functest-kubernetes-jobs'
53     current-parameters: true
54
55 - parameter:
56     name: functest-kubernetes-slave
57     parameters:
58       - label:
59           name: slave
60           default: '{slave}'
61
62 - parameter:
63     name: functest-kubernetes-build_tag
64     parameters:
65       - random-string:
66           name: build_tag
67
68 - parameter:
69     name: functest-kubernetes-DEPLOY_SCENARIO
70     parameters:
71       - string:
72           name: DEPLOY_SCENARIO
73           default: k8-nosdn-nofeature-noha
74
75 - functest-kubernetes-run-containers: &functest-kubernetes-run-containers
76     name: 'functest-kubernetes-run-containers'
77     <<: *functest-kubernetes-containers
78     test: '{test}'
79     privileged: '{privileged}'
80     network: '{network}'
81
82 - builder:
83     name: functest-kubernetes-pull-containers
84     builders:
85       - shell: |
86           set +x
87           if [ "{repo}" = "_" ]; then
88             image={container}:{tag}
89           elif [ "{port}" = "None" ]; then
90             image={repo}/{container}:{tag}
91           else
92             image={repo}:{port}/{container}:{tag}
93           fi
94           docker pull $image
95
96 - builder:
97     name: functest-kubernetes-run-containers
98     builders:
99       - shell: |
100           set +x
101           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
102           if [ "{repo}" = "_" ]; then
103             image={container}:{tag}
104           elif [ "{port}" = "None" ]; then
105             image={repo}/{container}:{tag}
106           else
107             image={repo}:{port}/{container}:{tag}
108           fi
109           docker run --rm \
110             --privileged={privileged} \
111             --network={network} \
112             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
113             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
114             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
115             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
116             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
117             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
118             -e NODE_NAME=$slave \
119             -e BUILD_TAG=$BUILD_TAG \
120             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
121             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
122             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
123             $image run_tests -t {test} -p -r
124
125 - builder:
126     name: functest-kubernetes-remove-images
127     builders:
128       - shell: |
129           set +x
130           if [ "{repo}" = "_" ]; then
131             image={container}:{tag}
132           elif [ "{port}" = "None" ]; then
133             image={repo}/{container}:{tag}
134           else
135             image={repo}:{port}/{container}:{tag}
136           fi
137           docker rmi $image || true
138
139 - job-template:
140     name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
141     parameters:
142       - functest-kubernetes-slave:
143           slave: '{slave}'
144     builders:
145       - functest-kubernetes-pull-containers:
146           <<: *functest-kubernetes-containers
147
148 - project:
149     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
150     <<: *functest-kubernetes-params
151     container: 'functest-kubernetes-healthcheck'
152     jobs:
153       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
154
155 - project:
156     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
157     <<: *functest-kubernetes-params
158     container: 'functest-kubernetes-smoke'
159     jobs:
160       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
161
162 - project:
163     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
164     <<: *functest-kubernetes-params
165     container: 'functest-kubernetes-security'
166     jobs:
167       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
168
169 - project:
170     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
171     <<: *functest-kubernetes-params
172     container: 'functest-kubernetes-benchmarking'
173     jobs:
174       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
175
176 - project:
177     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
178     <<: *functest-kubernetes-params
179     container: 'functest-kubernetes-cnf'
180     jobs:
181       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
182
183 - job-template:
184     name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
185     parameters:
186       - functest-kubernetes-slave:
187           slave: '{slave}'
188     builders:
189       - functest-kubernetes-remove-images:
190           <<: *functest-kubernetes-containers
191
192 - project:
193     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
194     <<: *functest-kubernetes-params
195     container: 'functest-kubernetes-healthcheck'
196     jobs:
197       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
198
199 - project:
200     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
201     <<: *functest-kubernetes-params
202     container: 'functest-kubernetes-smoke'
203     jobs:
204       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
205
206 - project:
207     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
208     <<: *functest-kubernetes-params
209     container: 'functest-kubernetes-security'
210     jobs:
211       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
212
213 - project:
214     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
215     <<: *functest-kubernetes-params
216     container: 'functest-kubernetes-benchmarking'
217     jobs:
218       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
219
220 - project:
221     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
222     <<: *functest-kubernetes-params
223     container: 'functest-kubernetes-cnf'
224     jobs:
225       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
226
227 - job-template:
228     name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
229     parameters:
230       - functest-kubernetes-slave:
231           slave: '{slave}'
232       - functest-kubernetes-build_tag:
233           build_tag: ''
234       - functest-kubernetes-DEPLOY_SCENARIO:
235           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
236     builders:
237       - functest-kubernetes-run-containers:
238           <<: *functest-kubernetes-run-containers
239
240 - project:
241     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
242     <<: *functest-kubernetes-params
243     container: 'functest-kubernetes-healthcheck'
244     test:
245       - k8s_quick
246       - k8s_smoke
247     privileged: 'false'
248     network: bridge
249     jobs:
250       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
251
252 - project:
253     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
254     <<: *functest-kubernetes-params
255     container: 'functest-kubernetes-smoke'
256     test:
257       - xrally_kubernetes
258       - k8s_conformance
259       - sig_api_machinery
260       - sig_apps
261       - sig_auth
262       - sig_cli
263       - sig_cluster_lifecycle
264       - sig_instrumentation
265       - sig_network
266       - sig_network_features
267       - sig_node
268       - sig_storage
269     privileged: 'false'
270     network: bridge
271     exclude:
272       - {'tag': 'jerma', 'test': 'sig_api_machinery'}
273       - {'tag': 'jerma', 'test': 'sig_apps'}
274       - {'tag': 'jerma', 'test': 'sig_auth'}
275       - {'tag': 'jerma', 'test': 'sig_cli'}
276       - {'tag': 'jerma', 'test': 'sig_cluster_lifecycle'}
277       - {'tag': 'jerma', 'test': 'sig_instrumentation'}
278       - {'tag': 'jerma', 'test': 'sig_network'}
279       - {'tag': 'jerma', 'test': 'sig_network_features'}
280       - {'tag': 'jerma', 'test': 'sig_node'}
281       - {'tag': 'jerma', 'test': 'sig_storage'}
282       - {'tag': 'iruya', 'test': 'sig_api_machinery'}
283       - {'tag': 'iruya', 'test': 'sig_apps'}
284       - {'tag': 'iruya', 'test': 'sig_auth'}
285       - {'tag': 'iruya', 'test': 'sig_cli'}
286       - {'tag': 'iruya', 'test': 'sig_cluster_lifecycle'}
287       - {'tag': 'iruya', 'test': 'sig_instrumentation'}
288       - {'tag': 'iruya', 'test': 'sig_network'}
289       - {'tag': 'iruya', 'test': 'sig_network_features'}
290       - {'tag': 'iruya', 'test': 'sig_node'}
291       - {'tag': 'iruya', 'test': 'sig_storage'}
292       - {'tag': 'hunter', 'test': 'sig_api_machinery'}
293       - {'tag': 'hunter', 'test': 'sig_apps'}
294       - {'tag': 'hunter', 'test': 'sig_auth'}
295       - {'tag': 'hunter', 'test': 'sig_cli'}
296       - {'tag': 'hunter', 'test': 'sig_cluster_lifecycle'}
297       - {'tag': 'hunter', 'test': 'sig_instrumentation'}
298       - {'tag': 'hunter', 'test': 'sig_network'}
299       - {'tag': 'hunter', 'test': 'sig_network_features'}
300       - {'tag': 'hunter', 'test': 'sig_node'}
301       - {'tag': 'hunter', 'test': 'sig_storage'}
302     jobs:
303       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
304
305 - project:
306     name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
307     <<: *functest-kubernetes-params
308     container: 'functest-kubernetes-security'
309     test:
310       - kube_hunter
311       - kube_bench_master
312       - kube_bench_node
313     privileged: 'false'
314     network: bridge
315     jobs:
316       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
317
318 - project:
319     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
320     <<: *functest-kubernetes-params
321     container: 'functest-kubernetes-benchmarking'
322     test:
323       - xrally_kubernetes_full
324     privileged: 'false'
325     network: bridge
326     jobs:
327       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
328
329 - project:
330     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
331     <<: *functest-kubernetes-params
332     container: 'functest-kubernetes-cnf'
333     test:
334       - k8s_vims
335       - helm_vims
336       - cnf_conformance
337     privileged: 'false'
338     network: bridge
339     jobs:
340       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
341
342
343 - builder:
344     name: functest-kubernetes-zip
345     builders:
346       - shell: |
347           set +x
348           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
349           if [ "{repo}" = "_" ]; then
350             image={container}:{tag}
351           elif [ "{port}" = "None" ]; then
352             image={repo}/{container}:{tag}
353           else
354             image={repo}:{port}/{container}:{tag}
355           fi
356           docker run --rm \
357             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
358             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
359             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
360             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
361             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
362             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
363             -e BUILD_TAG=$BUILD_TAG \
364             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
365             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
366             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
367             $image zip_campaign
368
369 - job-template:
370     name: 'functest-kubernetes-{tag}-zip'
371     parameters:
372       - functest-kubernetes-slave:
373           slave: '{slave}'
374       - functest-kubernetes-build_tag:
375           build_tag: ''
376       - functest-kubernetes-DEPLOY_SCENARIO:
377           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
378     builders:
379       - functest-kubernetes-zip:
380           <<: *functest-kubernetes-containers
381
382 - project:
383     name: 'functest-kubernetes-{tag}-zip'
384     <<: *functest-kubernetes-params
385     container: 'functest-kubernetes-healthcheck'
386     jobs:
387       - 'functest-kubernetes-{tag}-zip'
388
389 - job-template:
390     name: 'functest-kubernetes-{tag}-daily'
391     project-type: multijob
392     triggers:
393       - timed: '@weekly'
394     parameters:
395       - functest-kubernetes-slave:
396           slave: '{slave}'
397       - functest-kubernetes-build_tag:
398           build_tag: ''
399       - functest-kubernetes-DEPLOY_SCENARIO:
400           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
401     properties:
402       - build-blocker:
403           use-build-blocker: true
404           blocking-level: 'NODE'
405           blocking-jobs:
406             - '^functest-kubernetes-{tag}-(daily|docker|review)$'
407     builders:
408       - multijob:
409           name: remove former images
410           projects:
411             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
412               <<: *functest-kubernetes-jobs
413             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
414               <<: *functest-kubernetes-jobs
415             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
416               <<: *functest-kubernetes-jobs
417             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
418               <<: *functest-kubernetes-jobs
419             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
420               <<: *functest-kubernetes-jobs
421       - multijob:
422           name: pull containers
423           projects:
424             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
425               <<: *functest-kubernetes-jobs
426             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
427               <<: *functest-kubernetes-jobs
428             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
429               <<: *functest-kubernetes-jobs
430             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
431               <<: *functest-kubernetes-jobs
432             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
433               <<: *functest-kubernetes-jobs
434       - multijob:
435           name: opnfv/functest-kubernetes-healthcheck:{tag}
436           projects:
437             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
438               <<: *functest-kubernetes-jobs
439             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
440               <<: *functest-kubernetes-jobs
441       - multijob:
442           name: opnfv/functest-kubernetes-smoke:{tag}
443           projects:
444             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
445               <<: *functest-kubernetes-jobs
446             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
447               <<: *functest-kubernetes-jobs
448             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
449               <<: *functest-kubernetes-jobs
450             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
451               <<: *functest-kubernetes-jobs
452             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
453               <<: *functest-kubernetes-jobs
454             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli-run'
455               <<: *functest-kubernetes-jobs
456             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
457               <<: *functest-kubernetes-jobs
458             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
459               <<: *functest-kubernetes-jobs
460             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
461               <<: *functest-kubernetes-jobs
462             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_features-run'
463               <<: *functest-kubernetes-jobs
464             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
465               <<: *functest-kubernetes-jobs
466             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
467               <<: *functest-kubernetes-jobs
468       - multijob:
469           name: opnfv/functest-kubernetes-security:{tag}
470           projects:
471             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
472               <<: *functest-kubernetes-jobs
473             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
474               <<: *functest-kubernetes-jobs
475             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
476               <<: *functest-kubernetes-jobs
477       - multijob:
478           name: opnfv/functest-kubernetes-benchmarking:{tag}
479           projects:
480             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-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_conformance-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     properties:
760       - build-blocker:
761           use-build-blocker: true
762           blocking-level: 'NODE'
763           blocking-jobs:
764             - '^functest-kubernetes-{tag}-(daily|docker|review)$'
765     builders:
766       - multijob:
767           name: remove former images
768           projects:
769             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
770               <<: *functest-kubernetes-jobs
771             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
772               <<: *functest-kubernetes-jobs
773             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
774               <<: *functest-kubernetes-jobs
775             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
776               <<: *functest-kubernetes-jobs
777             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
778               <<: *functest-kubernetes-jobs
779       - multijob:
780           name: remove dependency
781           projects:
782             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
783               <<: *functest-kubernetes-jobs
784       - multijob:
785           name: pull dependency
786           projects:
787             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
788               <<: *functest-kubernetes-jobs
789       - multijob:
790           name: build opnfv/functest-kubernetes-core
791           projects:
792             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
793               <<: *functest-kubernetes-jobs
794       - multijob:
795           name: build containers
796           projects:
797             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
798               <<: *functest-kubernetes-jobs
799             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
800               <<: *functest-kubernetes-jobs
801             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
802               <<: *functest-kubernetes-jobs
803       - multijob:
804           name: build opnfv/functest-kubernetes-smoke
805           projects:
806             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
807               <<: *functest-kubernetes-jobs
808       - multijob:
809           name: build opnfv/functest-kubernetes-benchmarking
810           projects:
811             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
812               <<: *functest-kubernetes-jobs
813       - multijob:
814           name: opnfv/functest-kubernetes-healthcheck:{tag}
815           projects:
816             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
817               <<: *functest-kubernetes-jobs
818             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
819               <<: *functest-kubernetes-jobs
820       - multijob:
821           name: opnfv/functest-kubernetes-smoke:{tag}
822           projects:
823             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
824               <<: *functest-kubernetes-jobs
825             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
826               <<: *functest-kubernetes-jobs
827             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
828               <<: *functest-kubernetes-jobs
829             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
830               <<: *functest-kubernetes-jobs
831             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
832               <<: *functest-kubernetes-jobs
833             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli-run'
834               <<: *functest-kubernetes-jobs
835             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
836               <<: *functest-kubernetes-jobs
837             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
838               <<: *functest-kubernetes-jobs
839             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
840               <<: *functest-kubernetes-jobs
841             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_features-run'
842               <<: *functest-kubernetes-jobs
843             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
844               <<: *functest-kubernetes-jobs
845             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
846               <<: *functest-kubernetes-jobs
847       - multijob:
848           name: opnfv/functest-kubernetes-security:{tag}
849           projects:
850             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
851               <<: *functest-kubernetes-jobs
852             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
853               <<: *functest-kubernetes-jobs
854             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
855               <<: *functest-kubernetes-jobs
856       - multijob:
857           name: opnfv/functest-kubernetes-benchmarking:{tag}
858           projects:
859             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
860               <<: *functest-kubernetes-jobs
861       - multijob:
862           name: opnfv/functest-kubernetes-cnf:{tag}
863           projects:
864             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
865               <<: *functest-kubernetes-jobs
866             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
867               <<: *functest-kubernetes-jobs
868             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
869               <<: *functest-kubernetes-jobs
870
871 - project:
872     name: 'functest-kubernetes-review'
873     <<: *functest-kubernetes-params
874     jobs:
875       - 'functest-kubernetes-{tag}-review'
876
877 - view:
878     name: functest-kubernetes-review
879     view-type: list
880     columns:
881       - status
882       - weather
883       - job
884       - last-success
885       - last-failure
886       - last-duration
887     regex: ^functest-kubernetes-[a-z0-9.]+-review$
888
889 - view:
890     name: functest-kubernetes-tox
891     view-type: list
892     columns:
893       - status
894       - weather
895       - job
896       - last-success
897       - last-failure
898       - last-duration
899     regex: ^functest-kubernetes-[a-z0-9.]+-tox$
900
901 - builder:
902     name: functest-kubernetes-push-containers
903     builders:
904       - shell: |
905           set +x
906           if [ "{repo}" = "_" ]; then
907             image={container}:{tag}
908           elif [ "{port}" = "None" ]; then
909             image={repo}/{container}:{tag}
910           else
911             image={repo}:{port}/{container}:{tag}
912           fi
913           docker push $image
914
915 - trigger:
916     name: functest-kubernetes-commit
917     triggers:
918       - pollscm:
919           cron: "*/30 * * * *"
920
921 - job-template:
922     name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
923     parameters:
924       - functest-kubernetes-slave:
925           slave: '{slave}'
926     scm:
927       - functest-kubernetes-scm:
928           ref: '{branch}'
929     builders:
930       - functest-kubernetes-build-containers:
931           <<: *functest-kubernetes-build-containers
932           ref: '{branch}'
933           buildargs: '{buildargs}'
934       - functest-kubernetes-push-containers:
935           <<: *functest-kubernetes-build-containers
936           ref: '{branch}'
937
938 - project:
939     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
940     <<: *functest-kubernetes-params
941     container: functest-kubernetes-core
942     ref_arg: BRANCH
943     path: docker/core
944     jobs:
945       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
946
947 - project:
948     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
949     <<: *functest-kubernetes-params
950     container: functest-kubernetes-healthcheck
951     ref_arg:
952     path: docker/healthcheck
953     jobs:
954       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
955
956 - project:
957     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
958     <<: *functest-kubernetes-params
959     container: functest-kubernetes-cnf
960     ref_arg: BRANCH
961     path: docker/cnf
962     jobs:
963       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
964
965 - project:
966     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
967     <<: *functest-kubernetes-params
968     container: functest-kubernetes-security
969     ref_arg: BRANCH
970     path: docker/security
971     jobs:
972       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
973
974 - project:
975     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
976     <<: *functest-kubernetes-params
977     container: functest-kubernetes-smoke
978     ref_arg:
979     path: docker/smoke
980     jobs:
981       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
982
983 - project:
984     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
985     <<: *functest-kubernetes-params
986     container: functest-kubernetes-benchmarking
987     ref_arg:
988     path: docker/benchmarking
989     jobs:
990       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
991
992
993 - job-template:
994     name: 'functest-kubernetes-{tag}-docker'
995     project-type: multijob
996     triggers:
997       - functest-kubernetes-commit
998     scm:
999       - functest-kubernetes-scm:
1000           ref: '{branch}'
1001     parameters:
1002       - functest-kubernetes-slave:
1003           slave: '{slave}'
1004     properties:
1005       - build-blocker:
1006           use-build-blocker: true
1007           blocking-level: 'NODE'
1008           blocking-jobs:
1009             - '^functest-kubernetes-{tag}-(daily|docker|review)$'
1010     builders:
1011       - multijob:
1012           name: remove dependency
1013           projects:
1014             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
1015               <<: *functest-kubernetes-jobs
1016       - multijob:
1017           name: pull dependency
1018           projects:
1019             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
1020               <<: *functest-kubernetes-jobs
1021       - multijob:
1022           name: build opnfv/functest-kubernetes-core
1023           projects:
1024             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1025               <<: *functest-kubernetes-jobs
1026       - multijob:
1027           name: build containers
1028           projects:
1029             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1030               <<: *functest-kubernetes-jobs
1031             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1032               <<: *functest-kubernetes-jobs
1033             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1034               <<: *functest-kubernetes-jobs
1035       - multijob:
1036           name: build opnfv/functest-kubernetes-smoke
1037           projects:
1038             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1039               <<: *functest-kubernetes-jobs
1040       - multijob:
1041           name: build opnfv/functest-kubernetes-benchmarking
1042           projects:
1043             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1044               <<: *functest-kubernetes-jobs
1045
1046 - builder:
1047     name: functest-kubernetes-trivy
1048     builders:
1049       - shell: |
1050           apt-get update && apt-get install curl -y
1051
1052           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1053           if [ "{repo}" = "_" ]; then
1054             image={container}:{tag}
1055           elif [ "{port}" = "None" ]; then
1056             image={repo}/{container}:{tag}
1057           else
1058             image={repo}:{port}/{container}:{tag}
1059           fi
1060           ./trivy --exit-code 1 $image
1061
1062 - job-template:
1063     name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1064     triggers:
1065       - timed: '@weekly'
1066     parameters:
1067       - functest-kubernetes-slave:
1068           slave: '{slave}'
1069     builders:
1070       - functest-kubernetes-trivy:
1071           <<: *functest-kubernetes-containers
1072
1073 - project:
1074     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1075     <<: *functest-kubernetes-params
1076     container: 'functest-kubernetes-core'
1077     jobs:
1078       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1079
1080 - project:
1081     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1082     <<: *functest-kubernetes-params
1083     container: 'functest-kubernetes-healthcheck'
1084     jobs:
1085       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1086
1087 - project:
1088     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1089     <<: *functest-kubernetes-params
1090     container: 'functest-kubernetes-cnf'
1091     jobs:
1092       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1093
1094 - project:
1095     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1096     <<: *functest-kubernetes-params
1097     container: 'functest-kubernetes-security'
1098     jobs:
1099       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1100
1101 - project:
1102     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1103     <<: *functest-kubernetes-params
1104     container: 'functest-kubernetes-smoke'
1105     jobs:
1106       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1107
1108 - project:
1109     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1110     <<: *functest-kubernetes-params
1111     container: 'functest-kubernetes-benchmarking'
1112     jobs:
1113       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1114
1115 - project:
1116     name: 'functest-kubernetes'
1117     <<: *functest-kubernetes-params
1118     jobs:
1119       - 'functest-kubernetes-{tag}-docker'
1120
1121 - view:
1122     name: functest-kubernetes-docker
1123     view-type: list
1124     columns:
1125       - status
1126       - weather
1127       - job
1128       - last-success
1129       - last-failure
1130       - last-duration
1131     regex: ^functest-kubernetes-[a-z0-9.]+-docker$
1132
1133 - view:
1134     name: functest-kubernetes-trivy
1135     view-type: list
1136     columns:
1137       - status
1138       - weather
1139       - job
1140       - last-success
1141       - last-failure
1142       - last-duration
1143     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$