Add Lint process to Kuberef
[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-cnf-pull'
216     <<: *functest-kubernetes-params
217     container: 'functest-kubernetes-cnf'
218     jobs:
219       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
220
221 - job-template:
222     name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
223     parameters:
224       - functest-kubernetes-slave:
225           slave: '{slave}'
226     builders:
227       - functest-kubernetes-remove-images:
228           <<: *functest-kubernetes-containers
229
230 - project:
231     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
232     <<: *functest-kubernetes-params
233     container: 'functest-kubernetes-healthcheck'
234     jobs:
235       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
236
237 - project:
238     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
239     <<: *functest-kubernetes-params
240     container: 'functest-kubernetes-smoke'
241     jobs:
242       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
243
244 - project:
245     name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
246     <<: *functest-kubernetes-params
247     container: 'functest-kubernetes-security'
248     jobs:
249       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
250
251 - project:
252     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
253     <<: *functest-kubernetes-params
254     container: 'functest-kubernetes-cnf'
255     jobs:
256       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
257
258 - job-template:
259     name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
260     parameters:
261       - functest-kubernetes-slave:
262           slave: '{slave}'
263       - functest-kubernetes-build_tag:
264           build_tag: ''
265       - functest-kubernetes-DEPLOY_SCENARIO:
266           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
267       - functest-kubernetes-DEBUG:
268           DEBUG: 'true'
269     builders:
270       - functest-kubernetes-run-containers:
271           <<: *functest-kubernetes-run-containers
272
273 - project:
274     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
275     <<: *functest-kubernetes-params
276     container: 'functest-kubernetes-healthcheck'
277     test:
278       - k8s_smoke
279     privileged: 'false'
280     network: bridge
281     jobs:
282       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
283
284 - project:
285     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
286     <<: *functest-kubernetes-params
287     container: 'functest-kubernetes-smoke'
288     test:
289       - xrally_kubernetes
290       - k8s_conformance
291     privileged: 'false'
292     network: bridge
293     jobs:
294       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
295
296 - project:
297     name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
298     <<: *functest-kubernetes-params
299     container: 'functest-kubernetes-security'
300     test:
301       - kube_hunter
302       - kube_bench
303     privileged: 'false'
304     network: bridge
305     jobs:
306       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
307
308 - project:
309     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
310     <<: *functest-kubernetes-params
311     container: 'functest-kubernetes-cnf'
312     test:
313       - k8s_vims
314     privileged: 'false'
315     network: bridge
316     jobs:
317       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
318
319
320 - builder:
321     name: functest-kubernetes-zip
322     builders:
323       - shell: |
324           set +x
325           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
326           if [ "{repo}" = "_" ]; then
327             image={container}:{tag}
328           elif [ "{port}" = "None" ]; then
329             image={repo}/{container}:{tag}
330           else
331             image={repo}:{port}/{container}:{tag}
332           fi
333           docker run --rm \
334             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
335             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
336             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
337             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
338             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
339             -e BUILD_TAG=$BUILD_TAG \
340             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
341             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
342             -e DEBUG=$DEBUG \
343             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
344             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
345             $image zip_campaign
346
347 - job-template:
348     name: 'functest-kubernetes-{tag}-zip'
349     parameters:
350       - functest-kubernetes-slave:
351           slave: '{slave}'
352       - functest-kubernetes-build_tag:
353           build_tag: ''
354       - functest-kubernetes-DEPLOY_SCENARIO:
355           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
356       - functest-kubernetes-DEBUG:
357           DEBUG: 'true'
358     builders:
359       - functest-kubernetes-zip:
360           <<: *functest-kubernetes-containers
361
362 - project:
363     name: 'functest-kubernetes-{tag}-zip'
364     <<: *functest-kubernetes-params
365     container: 'functest-kubernetes-healthcheck'
366     jobs:
367       - 'functest-kubernetes-{tag}-zip'
368
369 - job-template:
370     name: 'functest-kubernetes-{tag}-daily'
371     project-type: multijob
372     triggers:
373       - timed: '@daily'
374     parameters:
375       - functest-kubernetes-slave:
376           slave: '{slave}'
377       - functest-kubernetes-build_tag:
378           build_tag: ''
379       - functest-kubernetes-DEPLOY_SCENARIO:
380           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
381       - functest-kubernetes-DEBUG:
382           DEBUG: 'true'
383     properties:
384       - build-blocker:
385           use-build-blocker: true
386           blocking-level: 'NODE'
387           blocking-jobs:
388             - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
389     builders:
390       - multijob:
391           name: remove former images
392           projects:
393             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
394               <<: *functest-kubernetes-jobs
395             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
396               <<: *functest-kubernetes-jobs
397             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
398               <<: *functest-kubernetes-jobs
399             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
400               <<: *functest-kubernetes-jobs
401       - multijob:
402           name: pull containers
403           projects:
404             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
405               <<: *functest-kubernetes-jobs
406             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
407               <<: *functest-kubernetes-jobs
408             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
409               <<: *functest-kubernetes-jobs
410             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
411               <<: *functest-kubernetes-jobs
412       - multijob:
413           name: opnfv/functest-kubernetes-healthcheck:{tag}
414           projects:
415             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
416               <<: *functest-kubernetes-jobs
417       - multijob:
418           name: opnfv/functest-kubernetes-smoke:{tag}
419           projects:
420             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
421               <<: *functest-kubernetes-jobs
422             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
423               <<: *functest-kubernetes-jobs
424       - multijob:
425           name: opnfv/functest-kubernetes-security:{tag}
426           projects:
427             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
428               <<: *functest-kubernetes-jobs
429             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench-run'
430               <<: *functest-kubernetes-jobs
431       - multijob:
432           name: opnfv/functest-kubernetes-cnf:{tag}
433           projects:
434             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
435               <<: *functest-kubernetes-jobs
436       - multijob:
437           name: dump all campaign data
438           projects:
439             - name: 'functest-kubernetes-{tag}-zip'
440               <<: *functest-kubernetes-jobs
441
442 - job-template:
443     name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
444     parameters:
445       - functest-kubernetes-slave:
446           slave: '{slave}'
447     scm:
448       - functest-kubernetes-scm:
449           ref: $GERRIT_REFSPEC
450     builders:
451       - functest-kubernetes-build-containers:
452           <<: *functest-kubernetes-build-containers
453           ref: $GERRIT_REFSPEC
454
455 - job-template:
456     name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
457     parameters:
458       - functest-kubernetes-slave:
459           slave: '{slave}'
460       - functest-kubernetes-branch:
461           branch: '{branch}'
462     scm:
463       - functest-kubernetes-scm:
464           ref: $branch
465     builders:
466       - functest-kubernetes-build-containers:
467           <<: *functest-kubernetes-build-containers
468           ref: $branch
469
470 - project:
471     name: 'functest-kubernetes-_-golang-1.14-alpine3.12-rmi'
472     repo: _
473     port:
474     container: golang
475     tag: '1.14-alpine3.12'
476     slave: master
477     exclude:
478       - tag: arm64-latest
479       - tag: arm64-kali
480       - tag: arm64-jerma
481       - tag: arm64-iruya
482       - tag: arm64-hunter
483     jobs:
484       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
485
486 - project:
487     name: 'functest-kubernetes-_-golang-1.14-alpine3.12-pull'
488     repo: _
489     port:
490     container: golang
491     tag: '1.14-alpine3.12'
492     slave: master
493     exclude:
494       - tag: arm64-latest
495       - tag: arm64-kali
496       - tag: arm64-jerma
497       - tag: arm64-iruya
498       - tag: arm64-hunter
499     jobs:
500       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
501
502 - project:
503     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
504     <<: *functest-kubernetes-params
505     container: functest-kubernetes-core
506     ref_arg: BRANCH
507     path: docker/core
508     exclude:
509       - tag: arm64-latest
510       - tag: arm64-kali
511       - tag: arm64-jerma
512       - tag: arm64-iruya
513       - tag: arm64-hunter
514     jobs:
515       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
516       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
517
518 - project:
519     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
520     <<: *functest-kubernetes-params
521     container: functest-kubernetes-healthcheck
522     ref_arg:
523     path: docker/healthcheck
524     exclude:
525       - tag: arm64-latest
526       - tag: arm64-kali
527       - tag: arm64-jerma
528       - tag: arm64-iruya
529       - tag: arm64-hunter
530     jobs:
531       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
532       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
533
534 - project:
535     name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
536     <<: *functest-kubernetes-params
537     container: functest-kubernetes-cnf
538     ref_arg: BRANCH
539     path: docker/cnf
540     exclude:
541       - tag: arm64-latest
542       - tag: arm64-kali
543       - tag: arm64-jerma
544       - tag: arm64-iruya
545       - tag: arm64-hunter
546     jobs:
547       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
548       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
549
550 - project:
551     name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
552     <<: *functest-kubernetes-params
553     container: functest-kubernetes-security
554     ref_arg: BRANCH
555     path: docker/security
556     exclude:
557       - tag: arm64-latest
558       - tag: arm64-kali
559       - tag: arm64-jerma
560       - tag: arm64-iruya
561       - tag: arm64-hunter
562     jobs:
563       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
564       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
565
566 - project:
567     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
568     <<: *functest-kubernetes-params
569     container: functest-kubernetes-smoke
570     ref_arg:
571     path: docker/smoke
572     exclude:
573       - tag: arm64-latest
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 - job-template:
583     name: 'functest-kubernetes-{tag}-check'
584     project-type: multijob
585     parameters:
586       - functest-kubernetes-slave:
587           slave: '{slave}'
588       - functest-kubernetes-build_tag:
589           build_tag: ''
590       - functest-kubernetes-branch:
591           branch: '{branch}'
592       - functest-kubernetes-DEPLOY_SCENARIO:
593           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
594       - functest-kubernetes-DEBUG:
595           DEBUG: 'true'
596     properties:
597       - build-blocker:
598           use-build-blocker: true
599           blocking-level: 'NODE'
600           blocking-jobs:
601             - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
602     builders:
603       - multijob:
604           name: remove former images
605           projects:
606             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
607               <<: *functest-kubernetes-jobs
608             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
609               <<: *functest-kubernetes-jobs
610             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
611               <<: *functest-kubernetes-jobs
612             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
613               <<: *functest-kubernetes-jobs
614       - multijob:
615           name: remove dependencies
616           projects:
617             - name: 'functest-kubernetes-_-golang-1.14-alpine3.12-rmi'
618               <<: *functest-kubernetes-jobs
619       - multijob:
620           name: pull dependencies
621           projects:
622             - name: 'functest-kubernetes-_-golang-1.14-alpine3.12-pull'
623               <<: *functest-kubernetes-jobs
624       - multijob:
625           name: build opnfv/functest-kubernetes-core
626           projects:
627             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-check'
628               <<: *functest-kubernetes-jobs
629       - multijob:
630           name: build opnfv/functest-kubernetes-healthcheck
631           projects:
632             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-check'
633               <<: *functest-kubernetes-jobs
634             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-check'
635               <<: *functest-kubernetes-jobs
636             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-check'
637               <<: *functest-kubernetes-jobs
638       - multijob:
639           name: build containers
640           projects:
641             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-check'
642               <<: *functest-kubernetes-jobs
643       - multijob:
644           name: opnfv/functest-kubernetes-healthcheck:{tag}
645           projects:
646             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
647               <<: *functest-kubernetes-jobs
648       - multijob:
649           name: opnfv/functest-kubernetes-smoke:{tag}
650           projects:
651             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
652               <<: *functest-kubernetes-jobs
653             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
654               <<: *functest-kubernetes-jobs
655       - multijob:
656           name: opnfv/functest-kubernetes-security:{tag}
657           projects:
658             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
659               <<: *functest-kubernetes-jobs
660             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench-run'
661               <<: *functest-kubernetes-jobs
662       - multijob:
663           name: opnfv/functest-kubernetes-cnf:{tag}
664           projects:
665             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
666               <<: *functest-kubernetes-jobs
667
668 - trigger:
669     name: functest-kubernetes-patchset-created
670     triggers:
671       - gerrit:
672           server-name: 'gerrit.opnfv.org'
673           trigger-on:
674             - patchset-created-event
675             - comment-added-contains-event:
676                 comment-contains-value: 'recheck'
677             - comment-added-contains-event:
678                 comment-contains-value: 'reverify'
679           projects:
680             - project-compare-type: 'ANT'
681               project-pattern: 'functest-kubernetes'
682               branches:
683                 - branch-compare-type: 'ANT'
684                   branch-pattern: '**/{branch}'
685           skip-vote:
686             successful: false
687             failed: false
688             unstable: false
689             notbuilt: false
690
691 - job-template:
692     name: 'functest-kubernetes-{tag}-gate'
693     project-type: multijob
694     triggers:
695       - functest-kubernetes-patchset-created:
696           branch: '{branch}'
697     parameters:
698       - functest-kubernetes-slave:
699           slave: '{slave}'
700       - functest-kubernetes-build_tag:
701           build_tag: ''
702       - functest-kubernetes-DEPLOY_SCENARIO:
703           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
704       - functest-kubernetes-DEBUG:
705           DEBUG: 'true'
706     properties:
707       - build-blocker:
708           use-build-blocker: true
709           blocking-level: 'NODE'
710           blocking-jobs:
711             - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
712     builders:
713       - multijob:
714           name: remove former images
715           projects:
716             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
717               <<: *functest-kubernetes-jobs
718             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
719               <<: *functest-kubernetes-jobs
720             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
721               <<: *functest-kubernetes-jobs
722             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
723               <<: *functest-kubernetes-jobs
724       - multijob:
725           name: remove dependencies
726           projects:
727             - name: 'functest-kubernetes-_-golang-1.14-alpine3.12-rmi'
728               <<: *functest-kubernetes-jobs
729       - multijob:
730           name: pull dependencies
731           projects:
732             - name: 'functest-kubernetes-_-golang-1.14-alpine3.12-pull'
733               <<: *functest-kubernetes-jobs
734       - multijob:
735           name: build opnfv/functest-kubernetes-core
736           projects:
737             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
738               <<: *functest-kubernetes-jobs
739       - multijob:
740           name: build opnfv/functest-kubernetes-healthcheck
741           projects:
742             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
743               <<: *functest-kubernetes-jobs
744             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
745               <<: *functest-kubernetes-jobs
746             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
747               <<: *functest-kubernetes-jobs
748       - multijob:
749           name: build containers
750           projects:
751             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
752               <<: *functest-kubernetes-jobs
753       - multijob:
754           name: opnfv/functest-kubernetes-healthcheck:{tag}
755           projects:
756             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
757               <<: *functest-kubernetes-jobs
758       - multijob:
759           name: opnfv/functest-kubernetes-smoke:{tag}
760           projects:
761             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
762               <<: *functest-kubernetes-jobs
763             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
764               <<: *functest-kubernetes-jobs
765       - multijob:
766           name: opnfv/functest-kubernetes-security:{tag}
767           projects:
768             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
769               <<: *functest-kubernetes-jobs
770             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench-run'
771               <<: *functest-kubernetes-jobs
772       - multijob:
773           name: opnfv/functest-kubernetes-cnf:{tag}
774           projects:
775             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
776               <<: *functest-kubernetes-jobs
777
778 - project:
779     name: 'functest-kubernetes'
780     <<: *functest-kubernetes-params
781     jobs:
782       - 'functest-kubernetes-{tag}-daily'
783
784 - project:
785     name: 'functest-kubernetes-gate'
786     <<: *functest-kubernetes-params
787     exclude:
788       - tag: arm64-latest
789       - tag: arm64-kali
790       - tag: arm64-jerma
791       - tag: arm64-iruya
792       - tag: arm64-hunter
793     jobs:
794       - 'functest-kubernetes-{tag}-check'
795       - 'functest-kubernetes-{tag}-gate'
796
797 - view:
798     name: functest-kubernetes
799     view-type: list
800     columns:
801       - status
802       - weather
803       - job
804       - last-success
805       - last-failure
806       - last-duration
807     regex: ^functest-kubernetes-(arm.*-|amd64-)*[a-z]+-daily$
808
809 - view:
810     name: functest-kubernetes-gate
811     view-type: list
812     columns:
813       - status
814       - weather
815       - job
816       - last-success
817       - last-failure
818       - last-duration
819     regex: ^functest-kubernetes-(arm.*-|amd64-)*[a-z]+-gate$