Run opnfv/functest-kubernetes-smoke sequentially
[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           execution-type: SEQUENTIALLY
444           projects:
445             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
446               <<: *functest-kubernetes-jobs
447             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
448               <<: *functest-kubernetes-jobs
449             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
450               <<: *functest-kubernetes-jobs
451             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
452               <<: *functest-kubernetes-jobs
453             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
454               <<: *functest-kubernetes-jobs
455             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli-run'
456               <<: *functest-kubernetes-jobs
457             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
458               <<: *functest-kubernetes-jobs
459             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
460               <<: *functest-kubernetes-jobs
461             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
462               <<: *functest-kubernetes-jobs
463             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_features-run'
464               <<: *functest-kubernetes-jobs
465             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
466               <<: *functest-kubernetes-jobs
467             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
468               <<: *functest-kubernetes-jobs
469       - multijob:
470           name: opnfv/functest-kubernetes-security:{tag}
471           projects:
472             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
473               <<: *functest-kubernetes-jobs
474             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
475               <<: *functest-kubernetes-jobs
476             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
477               <<: *functest-kubernetes-jobs
478       - multijob:
479           name: opnfv/functest-kubernetes-benchmarking:{tag}
480           projects:
481             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
482               <<: *functest-kubernetes-jobs
483       - multijob:
484           name: opnfv/functest-kubernetes-cnf:{tag}
485           projects:
486             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
487               <<: *functest-kubernetes-jobs
488             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
489               <<: *functest-kubernetes-jobs
490             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
491               <<: *functest-kubernetes-jobs
492       - multijob:
493           name: dump all campaign data
494           projects:
495             - name: 'functest-kubernetes-{tag}-zip'
496               <<: *functest-kubernetes-jobs
497
498 - project:
499     name: 'functest-kubernetes-daily'
500     <<: *functest-kubernetes-params
501     jobs:
502       - 'functest-kubernetes-{tag}-daily'
503
504 - view:
505     name: functest-kubernetes
506     view-type: list
507     columns:
508       - status
509       - weather
510       - job
511       - last-success
512       - last-failure
513       - last-duration
514     regex: ^functest-kubernetes-[a-z0-9.]+-daily$
515
516 - functest-kubernetes-build-containers: &functest-kubernetes-build-containers
517     name: 'functest-kubernetes-build-containers'
518     <<: *functest-kubernetes-containers
519     ref_arg: '{ref_arg}'
520     path: '{path}'
521     buildargs: '{buildargs}'
522     from: '{from}'
523
524 - builder:
525     name: functest-kubernetes-build-containers
526     builders:
527       - shell: |
528           set +x
529           if [ "{repo}" = "_" ]; then
530             image={container}:{tag}
531           elif [ "{port}" = "None" ]; then
532             image={repo}/{container}:{tag}
533           else
534             image={repo}:{port}/{container}:{tag}
535           fi
536           build_args=""
537           if [ "{buildargs}" != "None" ]; then
538             build_args="{buildargs}"
539           fi
540           if [ "{ref_arg}" != "None" ]; then
541             build_args="$build_args --build-arg {ref_arg}={ref}"
542           fi
543           cd {path}
544           if [ "{from}" != "None" ]; then
545               sed -i {from} Dockerfile
546           fi
547           docker build $build_args \
548             --pull=false --no-cache --force-rm=true \
549             -t $image .
550
551 - scm:
552     name: functest-kubernetes-scm
553     scm:
554       - git:
555           url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
556           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
557           branches:
558             - '{ref}'
559
560 - functest-kubernetes-dep: &functest-kubernetes-dep
561     name: 'functest-kubernetes-containers'
562     repo: '{repo}'
563     port: '{port}'
564     tag: '{tag}'
565     dependency: '{dependency}'
566
567 - builder:
568     name: functest-kubernetes-pull-dep-images
569     builders:
570       - shell: |
571           set +x
572           if [ "_" = "_" ]; then
573             image=alpine:{dependency}
574           elif [ "None" = "None" ]; then
575             image=_/alpine:{dependency}
576           else
577             image=_:/alpine:{dependency}
578           fi
579           docker pull $image || true
580
581 - builder:
582     name: functest-kubernetes-remove-dep-images
583     builders:
584       - shell: |
585           set +x
586           if [ "_" = "_" ]; then
587             image=alpine:{dependency}
588           elif [ "" = "None" ]; then
589             image=_/alpine:{dependency}
590           else
591             image=_:/alpine:{dependency}
592           fi
593           docker rmi $image || true
594
595 - job-template:
596     name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
597     parameters:
598       - functest-kubernetes-slave:
599           slave: '{slave}'
600     builders:
601       - functest-kubernetes-pull-dep-images:
602           <<: *functest-kubernetes-dep
603
604 - project:
605     name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
606     <<: *functest-kubernetes-params
607     jobs:
608       - 'functest-kubernetes-{repo}-{tag}-dep-pull'
609
610 - job-template:
611     name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
612     parameters:
613       - functest-kubernetes-slave:
614           slave: '{slave}'
615     builders:
616       - functest-kubernetes-remove-dep-images:
617           <<: *functest-kubernetes-dep
618
619 - project:
620     name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
621     <<: *functest-kubernetes-params
622     jobs:
623       - 'functest-kubernetes-{repo}-{tag}-dep-rmi'
624
625 - builder:
626     name: functest-kubernetes-tox
627     builders:
628       - shell: |
629           set +x
630           apt-get update && apt-get install \
631             software-properties-common gpg -y
632           add-apt-repository -y ppa:deadsnakes/ppa
633           apt-get update && apt-get install python3.8 \
634             python3.8-dev python3.8-distutils \
635             python3.7 python3.7-dev python3.6 python3.6-dev \
636             python python-dev python3-pip enchant -y
637           pip3 install tox tox-pip-version
638
639           tox
640
641 - job-template:
642     name: 'functest-kubernetes-{tag}-tox'
643     scm:
644       - functest-kubernetes-scm:
645           ref: $GERRIT_REFSPEC
646     triggers:
647       - functest-kubernetes-patchset-created:
648           branch: '{branch}'
649     parameters:
650       - functest-kubernetes-slave:
651           slave: '{slave}'
652     builders:
653       - functest-kubernetes-tox:
654
655 - project:
656     name: functest-kubernetes-tox
657     <<: *functest-kubernetes-params
658     jobs:
659       - 'functest-kubernetes-{tag}-tox'
660
661 - job-template:
662     name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
663     parameters:
664       - functest-kubernetes-slave:
665           slave: '{slave}'
666     scm:
667       - functest-kubernetes-scm:
668           ref: $GERRIT_REFSPEC
669     builders:
670       - functest-kubernetes-build-containers:
671           <<: *functest-kubernetes-build-containers
672           ref: $GERRIT_REFSPEC
673           buildargs: '{buildargs}'
674
675 - project:
676     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate
677     <<: *functest-kubernetes-params
678     container: functest-kubernetes-core
679     ref_arg: BRANCH
680     path: docker/core
681     jobs:
682       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
683
684 - project:
685     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate
686     <<: *functest-kubernetes-params
687     container: functest-kubernetes-healthcheck
688     ref_arg:
689     path: docker/healthcheck
690     jobs:
691       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
692
693 - project:
694     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate
695     <<: *functest-kubernetes-params
696     container: functest-kubernetes-cnf
697     ref_arg: BRANCH
698     path: docker/cnf
699     jobs:
700       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
701
702 - project:
703     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate
704     <<: *functest-kubernetes-params
705     container: functest-kubernetes-security
706     ref_arg: BRANCH
707     path: docker/security
708     jobs:
709       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
710
711 - project:
712     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate
713     <<: *functest-kubernetes-params
714     container: functest-kubernetes-smoke
715     ref_arg:
716     path: docker/smoke
717     jobs:
718       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
719
720 - project:
721     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate
722     <<: *functest-kubernetes-params
723     container: functest-kubernetes-benchmarking
724     ref_arg:
725     path: docker/benchmarking
726     jobs:
727       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
728
729
730 - trigger:
731     name: functest-kubernetes-patchset-created
732     triggers:
733       - gerrit:
734           trigger-on:
735             - patchset-created-event
736             - comment-added-contains-event:
737                 comment-contains-value: 'recheck'
738             - comment-added-contains-event:
739                 comment-contains-value: 'reverify'
740           projects:
741             - project-compare-type: 'ANT'
742               project-pattern: 'functest-kubernetes'
743               branches:
744                 - branch-compare-type: 'ANT'
745                   branch-pattern: '**/{branch}'
746
747 - job-template:
748     name: 'functest-kubernetes-{tag}-review'
749     project-type: multijob
750     triggers:
751       - functest-kubernetes-patchset-created:
752           branch: '{branch}'
753     parameters:
754       - functest-kubernetes-slave:
755           slave: '{slave}'
756       - functest-kubernetes-build_tag:
757           build_tag: ''
758       - functest-kubernetes-DEPLOY_SCENARIO:
759           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
760     properties:
761       - build-blocker:
762           use-build-blocker: true
763           blocking-level: 'NODE'
764           blocking-jobs:
765             - '^functest-kubernetes-{tag}-(daily|docker|review)$'
766     builders:
767       - multijob:
768           name: remove former images
769           projects:
770             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
771               <<: *functest-kubernetes-jobs
772             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
773               <<: *functest-kubernetes-jobs
774             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
775               <<: *functest-kubernetes-jobs
776             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
777               <<: *functest-kubernetes-jobs
778             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
779               <<: *functest-kubernetes-jobs
780       - multijob:
781           name: remove dependency
782           projects:
783             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
784               <<: *functest-kubernetes-jobs
785       - multijob:
786           name: pull dependency
787           projects:
788             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
789               <<: *functest-kubernetes-jobs
790       - multijob:
791           name: build opnfv/functest-kubernetes-core
792           projects:
793             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
794               <<: *functest-kubernetes-jobs
795       - multijob:
796           name: build containers
797           projects:
798             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
799               <<: *functest-kubernetes-jobs
800             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
801               <<: *functest-kubernetes-jobs
802             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
803               <<: *functest-kubernetes-jobs
804       - multijob:
805           name: build opnfv/functest-kubernetes-smoke
806           projects:
807             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
808               <<: *functest-kubernetes-jobs
809       - multijob:
810           name: build opnfv/functest-kubernetes-benchmarking
811           projects:
812             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
813               <<: *functest-kubernetes-jobs
814       - multijob:
815           name: opnfv/functest-kubernetes-healthcheck:{tag}
816           projects:
817             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
818               <<: *functest-kubernetes-jobs
819             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
820               <<: *functest-kubernetes-jobs
821       - multijob:
822           name: opnfv/functest-kubernetes-smoke:{tag}
823           execution-type: SEQUENTIALLY
824           projects:
825             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
826               <<: *functest-kubernetes-jobs
827             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
828               <<: *functest-kubernetes-jobs
829             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
830               <<: *functest-kubernetes-jobs
831             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
832               <<: *functest-kubernetes-jobs
833             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
834               <<: *functest-kubernetes-jobs
835             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli-run'
836               <<: *functest-kubernetes-jobs
837             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
838               <<: *functest-kubernetes-jobs
839             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
840               <<: *functest-kubernetes-jobs
841             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
842               <<: *functest-kubernetes-jobs
843             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_features-run'
844               <<: *functest-kubernetes-jobs
845             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
846               <<: *functest-kubernetes-jobs
847             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
848               <<: *functest-kubernetes-jobs
849       - multijob:
850           name: opnfv/functest-kubernetes-security:{tag}
851           projects:
852             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
853               <<: *functest-kubernetes-jobs
854             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
855               <<: *functest-kubernetes-jobs
856             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
857               <<: *functest-kubernetes-jobs
858       - multijob:
859           name: opnfv/functest-kubernetes-benchmarking:{tag}
860           projects:
861             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
862               <<: *functest-kubernetes-jobs
863       - multijob:
864           name: opnfv/functest-kubernetes-cnf:{tag}
865           projects:
866             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
867               <<: *functest-kubernetes-jobs
868             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
869               <<: *functest-kubernetes-jobs
870             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
871               <<: *functest-kubernetes-jobs
872
873 - project:
874     name: 'functest-kubernetes-review'
875     <<: *functest-kubernetes-params
876     jobs:
877       - 'functest-kubernetes-{tag}-review'
878
879 - view:
880     name: functest-kubernetes-review
881     view-type: list
882     columns:
883       - status
884       - weather
885       - job
886       - last-success
887       - last-failure
888       - last-duration
889     regex: ^functest-kubernetes-[a-z0-9.]+-review$
890
891 - view:
892     name: functest-kubernetes-tox
893     view-type: list
894     columns:
895       - status
896       - weather
897       - job
898       - last-success
899       - last-failure
900       - last-duration
901     regex: ^functest-kubernetes-[a-z0-9.]+-tox$
902
903 - builder:
904     name: functest-kubernetes-push-containers
905     builders:
906       - shell: |
907           set +x
908           if [ "{repo}" = "_" ]; then
909             image={container}:{tag}
910           elif [ "{port}" = "None" ]; then
911             image={repo}/{container}:{tag}
912           else
913             image={repo}:{port}/{container}:{tag}
914           fi
915           docker push $image
916
917 - trigger:
918     name: functest-kubernetes-commit
919     triggers:
920       - pollscm:
921           cron: "*/30 * * * *"
922
923 - job-template:
924     name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
925     parameters:
926       - functest-kubernetes-slave:
927           slave: '{slave}'
928     scm:
929       - functest-kubernetes-scm:
930           ref: '{branch}'
931     builders:
932       - functest-kubernetes-build-containers:
933           <<: *functest-kubernetes-build-containers
934           ref: '{branch}'
935           buildargs: '{buildargs}'
936       - functest-kubernetes-push-containers:
937           <<: *functest-kubernetes-build-containers
938           ref: '{branch}'
939
940 - project:
941     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
942     <<: *functest-kubernetes-params
943     container: functest-kubernetes-core
944     ref_arg: BRANCH
945     path: docker/core
946     jobs:
947       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
948
949 - project:
950     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
951     <<: *functest-kubernetes-params
952     container: functest-kubernetes-healthcheck
953     ref_arg:
954     path: docker/healthcheck
955     jobs:
956       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
957
958 - project:
959     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
960     <<: *functest-kubernetes-params
961     container: functest-kubernetes-cnf
962     ref_arg: BRANCH
963     path: docker/cnf
964     jobs:
965       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
966
967 - project:
968     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
969     <<: *functest-kubernetes-params
970     container: functest-kubernetes-security
971     ref_arg: BRANCH
972     path: docker/security
973     jobs:
974       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
975
976 - project:
977     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
978     <<: *functest-kubernetes-params
979     container: functest-kubernetes-smoke
980     ref_arg:
981     path: docker/smoke
982     jobs:
983       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
984
985 - project:
986     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
987     <<: *functest-kubernetes-params
988     container: functest-kubernetes-benchmarking
989     ref_arg:
990     path: docker/benchmarking
991     jobs:
992       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
993
994
995 - job-template:
996     name: 'functest-kubernetes-{tag}-docker'
997     project-type: multijob
998     triggers:
999       - functest-kubernetes-commit
1000     scm:
1001       - functest-kubernetes-scm:
1002           ref: '{branch}'
1003     parameters:
1004       - functest-kubernetes-slave:
1005           slave: '{slave}'
1006     properties:
1007       - build-blocker:
1008           use-build-blocker: true
1009           blocking-level: 'NODE'
1010           blocking-jobs:
1011             - '^functest-kubernetes-{tag}-(daily|docker|review)$'
1012     builders:
1013       - multijob:
1014           name: remove dependency
1015           projects:
1016             - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
1017               <<: *functest-kubernetes-jobs
1018       - multijob:
1019           name: pull dependency
1020           projects:
1021             - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
1022               <<: *functest-kubernetes-jobs
1023       - multijob:
1024           name: build opnfv/functest-kubernetes-core
1025           projects:
1026             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
1027               <<: *functest-kubernetes-jobs
1028       - multijob:
1029           name: build containers
1030           projects:
1031             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
1032               <<: *functest-kubernetes-jobs
1033             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
1034               <<: *functest-kubernetes-jobs
1035             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
1036               <<: *functest-kubernetes-jobs
1037       - multijob:
1038           name: build opnfv/functest-kubernetes-smoke
1039           projects:
1040             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
1041               <<: *functest-kubernetes-jobs
1042       - multijob:
1043           name: build opnfv/functest-kubernetes-benchmarking
1044           projects:
1045             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
1046               <<: *functest-kubernetes-jobs
1047
1048 - builder:
1049     name: functest-kubernetes-trivy
1050     builders:
1051       - shell: |
1052           apt-get update && apt-get install curl -y
1053
1054           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
1055           if [ "{repo}" = "_" ]; then
1056             image={container}:{tag}
1057           elif [ "{port}" = "None" ]; then
1058             image={repo}/{container}:{tag}
1059           else
1060             image={repo}:{port}/{container}:{tag}
1061           fi
1062           ./trivy --exit-code 1 $image
1063
1064 - job-template:
1065     name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1066     triggers:
1067       - timed: '@weekly'
1068     parameters:
1069       - functest-kubernetes-slave:
1070           slave: '{slave}'
1071     builders:
1072       - functest-kubernetes-trivy:
1073           <<: *functest-kubernetes-containers
1074
1075 - project:
1076     name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
1077     <<: *functest-kubernetes-params
1078     container: 'functest-kubernetes-core'
1079     jobs:
1080       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1081
1082 - project:
1083     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
1084     <<: *functest-kubernetes-params
1085     container: 'functest-kubernetes-healthcheck'
1086     jobs:
1087       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1088
1089 - project:
1090     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
1091     <<: *functest-kubernetes-params
1092     container: 'functest-kubernetes-cnf'
1093     jobs:
1094       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1095
1096 - project:
1097     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
1098     <<: *functest-kubernetes-params
1099     container: 'functest-kubernetes-security'
1100     jobs:
1101       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1102
1103 - project:
1104     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
1105     <<: *functest-kubernetes-params
1106     container: 'functest-kubernetes-smoke'
1107     jobs:
1108       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1109
1110 - project:
1111     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
1112     <<: *functest-kubernetes-params
1113     container: 'functest-kubernetes-benchmarking'
1114     jobs:
1115       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
1116
1117 - project:
1118     name: 'functest-kubernetes'
1119     <<: *functest-kubernetes-params
1120     jobs:
1121       - 'functest-kubernetes-{tag}-docker'
1122
1123 - view:
1124     name: functest-kubernetes-docker
1125     view-type: list
1126     columns:
1127       - status
1128       - weather
1129       - job
1130       - last-success
1131       - last-failure
1132       - last-duration
1133     regex: ^functest-kubernetes-[a-z0-9.]+-docker$
1134
1135 - view:
1136     name: functest-kubernetes-trivy
1137     view-type: list
1138     columns:
1139       - status
1140       - weather
1141       - job
1142       - last-success
1143       - last-failure
1144       - last-duration
1145     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$