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