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