d7e163a129191e4cbce66eb3f81af9b1183c15ff
[releng.git] / jjb / functest / functest-kubernetes.yaml
1 ---
2 - functest-kubernetes-jobs: &functest-kubernetes-jobs
3     name: 'functest-kubernetes-jobs'
4     current-parameters: true
5
6 - functest-kubernetes-params: &functest-kubernetes-params
7     name: 'functest-kubernetes-params'
8     repo: 'opnfv'
9     port:
10     tag:
11       - latest:
12           branch: master
13           slave: lf-virtual1-5
14       - kali:
15           branch: stable/kali
16           slave: lf-virtual1-4
17       - jerma:
18           branch: stable/jerma
19           slave: lf-virtual1-3
20       - iruya:
21           branch: stable/iruya
22           slave: lf-virtual1-2
23       - hunter:
24           branch: stable/hunter
25           slave: lf-virtual1-1
26       - arm64-latest:
27           branch: master
28           slave: lf-virtual1-5
29       - arm64-kali:
30           branch: stable/kali
31           slave: lf-virtual1-4
32       - arm64-jerma:
33           branch: stable/jerma
34           slave: lf-virtual1-3
35       - arm64-iruya:
36           branch: stable/iruya
37           slave: lf-virtual1-2
38       - arm64-hunter:
39           branch: stable/hunter
40           slave: lf-virtual1-1
41
42 - parameter:
43     name: functest-kubernetes-slave
44     parameters:
45       - label:
46           name: slave
47           default: '{slave}'
48
49 - parameter:
50     name: functest-kubernetes-build_tag
51     parameters:
52       - random-string:
53           name: build_tag
54
55 - parameter:
56     name: functest-kubernetes-branch
57     parameters:
58       - string:
59           name: branch
60           default: '{branch}'
61
62 - parameter:
63     name: functest-kubernetes-DEPLOY_SCENARIO
64     parameters:
65       - string:
66           name: DEPLOY_SCENARIO
67           default: k8-nosdn-nofeature-noha
68 - parameter:
69     name: functest-kubernetes-DEBUG
70     parameters:
71       - string:
72           name: DEBUG
73           default: 'true'
74
75 - functest-kubernetes-containers: &functest-kubernetes-containers
76     name: 'functest-kubernetes-containers'
77     repo: '{repo}'
78     port: '{port}'
79     container: '{container}'
80     tag: '{tag}'
81
82 - functest-kubernetes-run-containers: &functest-kubernetes-run-containers
83     name: 'functest-kubernetes-run-containers'
84     <<: *functest-kubernetes-containers
85     test: '{test}'
86     privileged: '{privileged}'
87     network: '{network}'
88
89 - builder:
90     name: functest-kubernetes-pull-containers
91     builders:
92       - shell: |
93           set +x
94           if [ "{repo}" = "_" ]; then
95             image={container}:{tag}
96           elif [ "{port}" = "None" ]; then
97             image={repo}/{container}:{tag}
98           else
99             image={repo}:{port}/{container}:{tag}
100           fi
101           docker pull $image
102
103 - builder:
104     name: functest-kubernetes-run-containers
105     builders:
106       - shell: |
107           set +x
108           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
109           if [ "{repo}" = "_" ]; then
110             image={container}:{tag}
111           elif [ "{port}" = "None" ]; then
112             image={repo}/{container}:{tag}
113           else
114             image={repo}:{port}/{container}:{tag}
115           fi
116           docker run --rm \
117             --privileged={privileged} \
118             --network={network} \
119             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
120             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
121             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
122             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
123             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
124             -e NODE_NAME=$slave \
125             -e BUILD_TAG=$BUILD_TAG \
126             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
127             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
128             -e DEBUG=$DEBUG \
129             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
130             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
131             $image run_tests -t {test} -p -r
132
133 - builder:
134     name: functest-kubernetes-remove-images
135     builders:
136       - shell: |
137           set +x
138           if [ "{repo}" = "_" ]; then
139             image={container}:{tag}
140           elif [ "{port}" = "None" ]; then
141             image={repo}/{container}:{tag}
142           else
143             image={repo}:{port}/{container}:{tag}
144           fi
145           docker rmi $image || true
146
147 - functest-kubernetes-build-containers: &functest-kubernetes-build-containers
148     name: 'functest-kubernetes-build-containers'
149     <<: *functest-kubernetes-containers
150     ref_arg: '{ref_arg}'
151     path: '{path}'
152
153 - builder:
154     name: functest-kubernetes-build-containers
155     builders:
156       - shell: |
157           set +x
158           if [ "{repo}" = "_" ]; then
159             image={container}:{tag}
160           elif [ "{port}" = "None" ]; then
161             image={repo}/{container}:{tag}
162           else
163             image={repo}:{port}/{container}:{tag}
164           fi
165           if [ "{ref_arg}" = "None" ]; then
166             build_arg=""
167           else
168             build_arg="--build-arg {ref_arg}={ref}"
169           fi
170           cd {path}
171           docker build $build_arg \
172             --pull=false --no-cache --force-rm=true \
173             -t $image .
174
175 - scm:
176     name: functest-kubernetes-scm
177     scm:
178       - git:
179           url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
180           refspec: '+refs/changes/*:refs/changes/*'
181           branches:
182             - '{ref}'
183
184 - job-template:
185     name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
186     parameters:
187       - functest-kubernetes-slave:
188           slave: '{slave}'
189     builders:
190       - functest-kubernetes-pull-containers:
191           <<: *functest-kubernetes-containers
192
193 - project:
194     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
195     <<: *functest-kubernetes-params
196     container: 'functest-kubernetes-healthcheck'
197     jobs:
198       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
199
200 - project:
201     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
202     <<: *functest-kubernetes-params
203     container: 'functest-kubernetes-smoke'
204     jobs:
205       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
206
207 - project:
208     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
209     <<: *functest-kubernetes-params
210     container: 'functest-kubernetes-security'
211     jobs:
212       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
213
214 - project:
215     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
216     <<: *functest-kubernetes-params
217     container: 'functest-kubernetes-benchmarking'
218     jobs:
219       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
220
221 - project:
222     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
223     <<: *functest-kubernetes-params
224     container: 'functest-kubernetes-cnf'
225     jobs:
226       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
227
228 - job-template:
229     name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
230     parameters:
231       - functest-kubernetes-slave:
232           slave: '{slave}'
233     builders:
234       - functest-kubernetes-remove-images:
235           <<: *functest-kubernetes-containers
236
237 - project:
238     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
239     <<: *functest-kubernetes-params
240     container: 'functest-kubernetes-healthcheck'
241     jobs:
242       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
243
244 - project:
245     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
246     <<: *functest-kubernetes-params
247     container: 'functest-kubernetes-smoke'
248     jobs:
249       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
250
251 - project:
252     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
253     <<: *functest-kubernetes-params
254     container: 'functest-kubernetes-security'
255     jobs:
256       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
257
258 - project:
259     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
260     <<: *functest-kubernetes-params
261     container: 'functest-kubernetes-benchmarking'
262     jobs:
263       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
264
265 - project:
266     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
267     <<: *functest-kubernetes-params
268     container: 'functest-kubernetes-cnf'
269     jobs:
270       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
271
272 - job-template:
273     name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
274     parameters:
275       - functest-kubernetes-slave:
276           slave: '{slave}'
277       - functest-kubernetes-build_tag:
278           build_tag: ''
279       - functest-kubernetes-DEPLOY_SCENARIO:
280           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
281       - functest-kubernetes-DEBUG:
282           DEBUG: 'true'
283     builders:
284       - functest-kubernetes-run-containers:
285           <<: *functest-kubernetes-run-containers
286
287 - project:
288     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
289     <<: *functest-kubernetes-params
290     container: 'functest-kubernetes-healthcheck'
291     test:
292       - k8s_quick
293       - k8s_smoke
294     privileged: 'false'
295     network: bridge
296     jobs:
297       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
298
299 - project:
300     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
301     <<: *functest-kubernetes-params
302     container: 'functest-kubernetes-smoke'
303     test:
304       - xrally_kubernetes
305       - k8s_conformance
306     privileged: 'false'
307     network: bridge
308     jobs:
309       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
310
311 - project:
312     name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
313     <<: *functest-kubernetes-params
314     container: 'functest-kubernetes-security'
315     test:
316       - kube_hunter
317       - kube_bench
318       - kube_bench_master
319       - kube_bench_node
320     exclude:
321       - tag: latest
322         test: kube_bench
323       - tag: kali
324         test: kube_bench_master
325       - tag: kali
326         test: kube_bench_node
327       - tag: jerma
328         test: kube_bench_master
329       - tag: jerma
330         test: kube_bench_node
331       - tag: iruya
332         test: kube_bench_master
333       - tag: iruya
334         test: kube_bench_node
335       - tag: hunter
336         test: kube_bench_master
337       - tag: hunter
338         test: kube_bench_node
339       - tag: arm64-latest
340         test: kube_bench
341       - tag: arm64-kali
342         test: kube_bench_master
343       - tag: arm64-kali
344         test: kube_bench_node
345       - tag: arm64-jerma
346         test: kube_bench_master
347       - tag: arm64-jerma
348         test: kube_bench_node
349       - tag: arm64-iruya
350         test: kube_bench_master
351       - tag: arm64-iruya
352         test: kube_bench_node
353       - tag: arm64-hunter
354         test: kube_bench_master
355       - tag: arm64-hunter
356         test: kube_bench_node
357     privileged: 'false'
358     network: bridge
359     jobs:
360       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
361
362 - project:
363     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
364     <<: *functest-kubernetes-params
365     container: 'functest-kubernetes-benchmarking'
366     test:
367       - xrally_kubernetes_full
368     privileged: 'false'
369     network: bridge
370     jobs:
371       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
372
373 - project:
374     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
375     <<: *functest-kubernetes-params
376     container: 'functest-kubernetes-cnf'
377     test:
378       - cnf_conformance
379       - k8s_vims
380     exclude:
381       - tag: iruya
382         test: k8s_vims
383       - tag: arm64-iruya
384         test: k8s_vims
385     privileged: 'false'
386     network: bridge
387     jobs:
388       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
389
390
391 - builder:
392     name: functest-kubernetes-zip
393     builders:
394       - shell: |
395           set +x
396           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
397           if [ "{repo}" = "_" ]; then
398             image={container}:{tag}
399           elif [ "{port}" = "None" ]; then
400             image={repo}/{container}:{tag}
401           else
402             image={repo}:{port}/{container}:{tag}
403           fi
404           docker run --rm \
405             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
406             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
407             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
408             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
409             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
410             -e BUILD_TAG=$BUILD_TAG \
411             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
412             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
413             -e DEBUG=$DEBUG \
414             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
415             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
416             $image zip_campaign
417
418 - job-template:
419     name: 'functest-kubernetes-{tag}-zip'
420     parameters:
421       - functest-kubernetes-slave:
422           slave: '{slave}'
423       - functest-kubernetes-build_tag:
424           build_tag: ''
425       - functest-kubernetes-DEPLOY_SCENARIO:
426           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
427       - functest-kubernetes-DEBUG:
428           DEBUG: 'true'
429     builders:
430       - functest-kubernetes-zip:
431           <<: *functest-kubernetes-containers
432
433 - project:
434     name: 'functest-kubernetes-{tag}-zip'
435     <<: *functest-kubernetes-params
436     container: 'functest-kubernetes-healthcheck'
437     jobs:
438       - 'functest-kubernetes-{tag}-zip'
439
440 - job-template:
441     name: 'functest-kubernetes-{tag}-daily'
442     project-type: multijob
443     triggers:
444       - timed: '@weekly'
445     parameters:
446       - functest-kubernetes-slave:
447           slave: '{slave}'
448       - functest-kubernetes-build_tag:
449           build_tag: ''
450       - functest-kubernetes-DEPLOY_SCENARIO:
451           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
452       - functest-kubernetes-DEBUG:
453           DEBUG: 'true'
454     properties:
455       - build-blocker:
456           use-build-blocker: true
457           blocking-level: 'GLOBAL'
458           blocking-jobs:
459             - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
460     builders:
461       - multijob:
462           name: remove former images
463           projects:
464             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
465               <<: *functest-kubernetes-jobs
466             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
467               <<: *functest-kubernetes-jobs
468             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
469               <<: *functest-kubernetes-jobs
470             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
471               <<: *functest-kubernetes-jobs
472             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
473               <<: *functest-kubernetes-jobs
474       - multijob:
475           name: pull containers
476           projects:
477             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
478               <<: *functest-kubernetes-jobs
479             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
480               <<: *functest-kubernetes-jobs
481             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
482               <<: *functest-kubernetes-jobs
483             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
484               <<: *functest-kubernetes-jobs
485             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
486               <<: *functest-kubernetes-jobs
487       - multijob:
488           name: opnfv/functest-kubernetes-healthcheck:{tag}
489           projects:
490             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
491               <<: *functest-kubernetes-jobs
492             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
493               <<: *functest-kubernetes-jobs
494       - multijob:
495           name: opnfv/functest-kubernetes-smoke:{tag}
496           projects:
497             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
498               <<: *functest-kubernetes-jobs
499             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
500               <<: *functest-kubernetes-jobs
501       - multijob:
502           name: opnfv/functest-kubernetes-security:{tag}
503           projects:
504             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
505               <<: *functest-kubernetes-jobs
506             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench-run'
507               <<: *functest-kubernetes-jobs
508             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
509               <<: *functest-kubernetes-jobs
510             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
511               <<: *functest-kubernetes-jobs
512       - multijob:
513           name: opnfv/functest-kubernetes-benchmarking:{tag}
514           projects:
515             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
516               <<: *functest-kubernetes-jobs
517       - multijob:
518           name: opnfv/functest-kubernetes-cnf:{tag}
519           projects:
520             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
521               <<: *functest-kubernetes-jobs
522             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
523               <<: *functest-kubernetes-jobs
524       - multijob:
525           name: dump all campaign data
526           projects:
527             - name: 'functest-kubernetes-{tag}-zip'
528               <<: *functest-kubernetes-jobs
529
530 - job-template:
531     name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
532     parameters:
533       - functest-kubernetes-slave:
534           slave: '{slave}'
535     scm:
536       - functest-kubernetes-scm:
537           ref: $GERRIT_REFSPEC
538     builders:
539       - functest-kubernetes-build-containers:
540           <<: *functest-kubernetes-build-containers
541           ref: $GERRIT_REFSPEC
542
543 - job-template:
544     name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
545     parameters:
546       - functest-kubernetes-slave:
547           slave: '{slave}'
548       - functest-kubernetes-branch:
549           branch: '{branch}'
550     scm:
551       - functest-kubernetes-scm:
552           ref: $branch
553     builders:
554       - functest-kubernetes-build-containers:
555           <<: *functest-kubernetes-build-containers
556           ref: $branch
557
558 - project:
559     name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
560     repo: _
561     port:
562     container: golang
563     tag: '1.15-alpine3.12'
564     slave: master
565     exclude:
566       - tag: arm64-latest
567       - tag: arm64-kali
568       - tag: arm64-jerma
569       - tag: arm64-iruya
570       - tag: arm64-hunter
571     jobs:
572       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
573
574 - project:
575     name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
576     repo: _
577     port:
578     container: golang
579     tag: '1.15-alpine3.12'
580     slave: master
581     exclude:
582       - tag: arm64-latest
583       - tag: arm64-kali
584       - tag: arm64-jerma
585       - tag: arm64-iruya
586       - tag: arm64-hunter
587     jobs:
588       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
589
590 - project:
591     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
592     <<: *functest-kubernetes-params
593     container: functest-kubernetes-core
594     ref_arg: BRANCH
595     path: docker/core
596     exclude:
597       - tag: arm64-latest
598       - tag: arm64-kali
599       - tag: arm64-jerma
600       - tag: arm64-iruya
601       - tag: arm64-hunter
602     jobs:
603       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
604       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
605
606 - project:
607     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
608     <<: *functest-kubernetes-params
609     container: functest-kubernetes-healthcheck
610     ref_arg:
611     path: docker/healthcheck
612     exclude:
613       - tag: arm64-latest
614       - tag: arm64-kali
615       - tag: arm64-jerma
616       - tag: arm64-iruya
617       - tag: arm64-hunter
618     jobs:
619       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
620       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
621
622 - project:
623     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
624     <<: *functest-kubernetes-params
625     container: functest-kubernetes-cnf
626     ref_arg: BRANCH
627     path: docker/cnf
628     exclude:
629       - tag: arm64-latest
630       - tag: arm64-kali
631       - tag: arm64-jerma
632       - tag: arm64-iruya
633       - tag: arm64-hunter
634     jobs:
635       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
636       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
637
638 - project:
639     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
640     <<: *functest-kubernetes-params
641     container: functest-kubernetes-security
642     ref_arg: BRANCH
643     path: docker/security
644     exclude:
645       - tag: arm64-latest
646       - tag: arm64-kali
647       - tag: arm64-jerma
648       - tag: arm64-iruya
649       - tag: arm64-hunter
650     jobs:
651       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
652       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
653
654 - project:
655     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
656     <<: *functest-kubernetes-params
657     container: functest-kubernetes-smoke
658     ref_arg:
659     path: docker/smoke
660     exclude:
661       - tag: arm64-latest
662       - tag: arm64-kali
663       - tag: arm64-jerma
664       - tag: arm64-iruya
665       - tag: arm64-hunter
666     jobs:
667       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
668       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
669
670 - project:
671     name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
672     <<: *functest-kubernetes-params
673     container: functest-kubernetes-benchmarking
674     ref_arg:
675     path: docker/benchmarking
676     exclude:
677       - tag: arm64-latest
678       - tag: arm64-kali
679       - tag: arm64-jerma
680       - tag: arm64-iruya
681       - tag: arm64-hunter
682     jobs:
683       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
684       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
685
686 - job-template:
687     name: 'functest-kubernetes-{tag}-check'
688     project-type: multijob
689     parameters:
690       - functest-kubernetes-slave:
691           slave: '{slave}'
692       - functest-kubernetes-build_tag:
693           build_tag: ''
694       - functest-kubernetes-branch:
695           branch: '{branch}'
696       - functest-kubernetes-DEPLOY_SCENARIO:
697           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
698       - functest-kubernetes-DEBUG:
699           DEBUG: 'true'
700     properties:
701       - build-blocker:
702           use-build-blocker: true
703           blocking-level: 'GLOBAL'
704           blocking-jobs:
705             - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
706     builders:
707       - multijob:
708           name: remove former images
709           projects:
710             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
711               <<: *functest-kubernetes-jobs
712             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
713               <<: *functest-kubernetes-jobs
714             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
715               <<: *functest-kubernetes-jobs
716             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
717               <<: *functest-kubernetes-jobs
718             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
719               <<: *functest-kubernetes-jobs
720       - multijob:
721           name: remove dependencies
722           projects:
723             - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
724               <<: *functest-kubernetes-jobs
725       - multijob:
726           name: pull dependencies
727           projects:
728             - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
729               <<: *functest-kubernetes-jobs
730       - multijob:
731           name: build opnfv/functest-kubernetes-core
732           projects:
733             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-check'
734               <<: *functest-kubernetes-jobs
735       - multijob:
736           name: build opnfv/functest-kubernetes-healthcheck
737           projects:
738             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-check'
739               <<: *functest-kubernetes-jobs
740             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-check'
741               <<: *functest-kubernetes-jobs
742             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-check'
743               <<: *functest-kubernetes-jobs
744       - multijob:
745           name: build containers
746           projects:
747             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-check'
748               <<: *functest-kubernetes-jobs
749       - multijob:
750           name: build opnfv/functest-kubernetes-benchmarking
751           projects:
752             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-check'
753               <<: *functest-kubernetes-jobs
754       - multijob:
755           name: opnfv/functest-kubernetes-healthcheck:{tag}
756           projects:
757             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
758               <<: *functest-kubernetes-jobs
759             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
760               <<: *functest-kubernetes-jobs
761       - multijob:
762           name: opnfv/functest-kubernetes-smoke:{tag}
763           projects:
764             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
765               <<: *functest-kubernetes-jobs
766             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
767               <<: *functest-kubernetes-jobs
768       - multijob:
769           name: opnfv/functest-kubernetes-benchmarking:{tag}
770           projects:
771             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
772               <<: *functest-kubernetes-jobs
773       - multijob:
774           name: opnfv/functest-kubernetes-security:{tag}
775           projects:
776             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
777               <<: *functest-kubernetes-jobs
778             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench-run'
779               <<: *functest-kubernetes-jobs
780             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
781               <<: *functest-kubernetes-jobs
782             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
783               <<: *functest-kubernetes-jobs
784       - multijob:
785           name: opnfv/functest-kubernetes-cnf:{tag}
786           projects:
787             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
788               <<: *functest-kubernetes-jobs
789             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
790               <<: *functest-kubernetes-jobs
791
792 - trigger:
793     name: functest-kubernetes-patchset-created
794     triggers:
795       - gerrit:
796           server-name: 'gerrit.opnfv.org'
797           trigger-on:
798             - patchset-created-event
799             - comment-added-contains-event:
800                 comment-contains-value: 'recheck'
801             - comment-added-contains-event:
802                 comment-contains-value: 'reverify'
803           projects:
804             - project-compare-type: 'ANT'
805               project-pattern: 'functest-kubernetes'
806               branches:
807                 - branch-compare-type: 'ANT'
808                   branch-pattern: '**/{branch}'
809           skip-vote:
810             successful: false
811             failed: false
812             unstable: false
813             notbuilt: false
814
815 - job-template:
816     name: 'functest-kubernetes-{tag}-gate'
817     project-type: multijob
818     triggers:
819       - functest-kubernetes-patchset-created:
820           branch: '{branch}'
821     parameters:
822       - functest-kubernetes-slave:
823           slave: '{slave}'
824       - functest-kubernetes-build_tag:
825           build_tag: ''
826       - functest-kubernetes-DEPLOY_SCENARIO:
827           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
828       - functest-kubernetes-DEBUG:
829           DEBUG: 'true'
830     properties:
831       - build-blocker:
832           use-build-blocker: true
833           blocking-level: 'GLOBAL'
834           blocking-jobs:
835             - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
836     builders:
837       - multijob:
838           name: remove former images
839           projects:
840             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
841               <<: *functest-kubernetes-jobs
842             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
843               <<: *functest-kubernetes-jobs
844             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
845               <<: *functest-kubernetes-jobs
846             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
847               <<: *functest-kubernetes-jobs
848             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
849               <<: *functest-kubernetes-jobs
850       - multijob:
851           name: remove dependencies
852           projects:
853             - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
854               <<: *functest-kubernetes-jobs
855       - multijob:
856           name: pull dependencies
857           projects:
858             - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
859               <<: *functest-kubernetes-jobs
860       - multijob:
861           name: build opnfv/functest-kubernetes-core
862           projects:
863             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
864               <<: *functest-kubernetes-jobs
865       - multijob:
866           name: build opnfv/functest-kubernetes-healthcheck
867           projects:
868             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
869               <<: *functest-kubernetes-jobs
870             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
871               <<: *functest-kubernetes-jobs
872             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
873               <<: *functest-kubernetes-jobs
874       - multijob:
875           name: build containers
876           projects:
877             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
878               <<: *functest-kubernetes-jobs
879       - multijob:
880           name: build opnfv/functest-kubernetes-benchmarking
881           projects:
882             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
883               <<: *functest-kubernetes-jobs
884       - multijob:
885           name: opnfv/functest-kubernetes-healthcheck:{tag}
886           projects:
887             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
888               <<: *functest-kubernetes-jobs
889             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
890               <<: *functest-kubernetes-jobs
891       - multijob:
892           name: opnfv/functest-kubernetes-smoke:{tag}
893           projects:
894             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
895               <<: *functest-kubernetes-jobs
896             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
897               <<: *functest-kubernetes-jobs
898       - multijob:
899           name: opnfv/functest-kubernetes-security:{tag}
900           projects:
901             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
902               <<: *functest-kubernetes-jobs
903             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench-run'
904               <<: *functest-kubernetes-jobs
905             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
906               <<: *functest-kubernetes-jobs
907             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
908               <<: *functest-kubernetes-jobs
909       - multijob:
910           name: opnfv/functest-kubernetes-benchmarking:{tag}
911           projects:
912             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
913               <<: *functest-kubernetes-jobs
914       - multijob:
915           name: opnfv/functest-kubernetes-cnf:{tag}
916           projects:
917             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
918               <<: *functest-kubernetes-jobs
919             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
920               <<: *functest-kubernetes-jobs
921
922 - project:
923     name: 'functest-kubernetes'
924     <<: *functest-kubernetes-params
925     jobs:
926       - 'functest-kubernetes-{tag}-daily'
927
928 - project:
929     name: 'functest-kubernetes-gate'
930     <<: *functest-kubernetes-params
931     exclude:
932       - tag: arm64-latest
933       - tag: arm64-kali
934       - tag: arm64-jerma
935       - tag: arm64-iruya
936       - tag: arm64-hunter
937     jobs:
938       - 'functest-kubernetes-{tag}-check'
939       - 'functest-kubernetes-{tag}-gate'
940
941 - view:
942     name: functest-kubernetes
943     view-type: list
944     columns:
945       - status
946       - weather
947       - job
948       - last-success
949       - last-failure
950       - last-duration
951     regex: ^functest-kubernetes-(arm.*-|amd64-)*[a-z]+-daily$
952
953 - view:
954     name: functest-kubernetes-gate
955     view-type: list
956     columns:
957       - status
958       - weather
959       - job
960       - last-success
961       - last-failure
962       - last-duration
963     regex: ^functest-kubernetes-(arm.*-|amd64-)*[a-z]+-gate$