Update alpine to 3.10 in Functest K8S 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-virtual8
14       - iruya:
15           branch: stable/iruya
16           slave: lf-virtual7
17       - hunter:
18           branch: stable/hunter
19           slave: lf-virtual5
20
21 - parameter:
22     name: functest-kubernetes-slave
23     parameters:
24       - label:
25           name: slave
26           default: '{slave}'
27
28 - parameter:
29     name: functest-kubernetes-branch
30     parameters:
31       - string:
32           name: branch
33           default: '{branch}'
34
35 - functest-kubernetes-containers: &functest-kubernetes-containers
36     name: 'functest-kubernetes-containers'
37     repo: '{repo}'
38     port: '{port}'
39     container: '{container}'
40     tag: '{tag}'
41
42 - functest-kubernetes-run-containers: &functest-kubernetes-run-containers
43     name: 'functest-kubernetes-build-containers'
44     <<: *functest-kubernetes-containers
45     test: '{test}'
46
47 - functest-kubernetes-build-containers: &functest-kubernetes-build-containers
48     name: 'functest-kubernetes-build-containers'
49     <<: *functest-kubernetes-containers
50     ref_arg: '{ref_arg}'
51     path: '{path}'
52
53 - builder:
54     name: functest-kubernetes-pull-containers
55     builders:
56       - shell: |
57           set +x
58           if [ "{repo}" = "_" ]; then
59             image={container}:{tag}
60           elif [ "{port}" = "None" ]; then
61             image={repo}/{container}:{tag}
62           else
63             image={repo}:{port}/{container}:{tag}
64           fi
65           docker pull $image
66
67 - builder:
68     name: functest-kubernetes-build-containers
69     builders:
70       - shell: |
71           set +x
72           if [ "{repo}" = "_" ]; then
73             image={container}:{tag}
74           elif [ "{port}" = "None" ]; then
75             image={repo}/{container}:{tag}
76           else
77             image={repo}:{port}/{container}:{tag}
78           fi
79           if [ "{ref_arg}" = "None" ]; then
80             build_arg=""
81           else
82             build_arg="--build-arg {ref_arg}={ref}"
83           fi
84           cd {path}
85           docker build $build_arg \
86             --pull=false --no-cache --force-rm=true \
87             -t $image .
88
89 - builder:
90     name: functest-kubernetes-run-containers
91     builders:
92       - shell: |
93           set +ex
94           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
95           if [ "{repo}" = "_" ]; then
96             image={container}:{tag}
97           elif [ "{port}" = "None" ]; then
98             image={repo}/{container}:{tag}
99           else
100             image={repo}:{port}/{container}:{tag}
101           fi
102           docker run --rm \
103             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
104             -e DEPLOY_SCENARIO=k8-nosdn-nofeature-noha \
105             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
106             $image run_tests -t {test}
107           res=$?
108           gsutil -m cp -r $WORKSPACE/ \
109             gs://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
110           find $WORKSPACE -type f \
111             -printf \
112             "http://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID/%P\n"
113           exit $res
114
115 - builder:
116     name: functest-kubernetes-remove-images
117     builders:
118       - shell: |
119           set +x
120           if [ "{repo}" = "_" ]; then
121             image={container}:{tag}
122           elif [ "{port}" = "None" ]; then
123             image={repo}/{container}:{tag}
124           else
125             image={repo}:{port}/{container}:{tag}
126           fi
127           docker rmi $image || true
128
129 - scm:
130     name: functest-kubernetes-scm
131     scm:
132       - git:
133           url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
134           refspec: '+refs/changes/*:refs/changes/*'
135           branches:
136             - '{ref}'
137
138 - job-template:
139     name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
140     parameters:
141       - functest-kubernetes-slave:
142           slave: '{slave}'
143     builders:
144       - functest-kubernetes-pull-containers:
145           <<: *functest-kubernetes-containers
146
147 - project:
148     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
149     <<: *functest-kubernetes-params
150     container: 'functest-kubernetes-healthcheck'
151     jobs:
152       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
153
154 - project:
155     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
156     <<: *functest-kubernetes-params
157     container: 'functest-kubernetes-smoke'
158     jobs:
159       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
160
161 - project:
162     name: 'functest-kubernetes-opnfv-functest-kubernetes-features-pull'
163     <<: *functest-kubernetes-params
164     container: 'functest-kubernetes-features'
165     jobs:
166       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
167
168 - job-template:
169     name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
170     parameters:
171       - functest-kubernetes-slave:
172           slave: '{slave}'
173     builders:
174       - functest-kubernetes-remove-images:
175           <<: *functest-kubernetes-containers
176
177 - project:
178     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
179     <<: *functest-kubernetes-params
180     container: 'functest-kubernetes-healthcheck'
181     jobs:
182       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
183
184 - project:
185     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
186     <<: *functest-kubernetes-params
187     container: 'functest-kubernetes-smoke'
188     jobs:
189       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
190
191 - project:
192     name: 'functest-kubernetes-opnfv-functest-kubernetes-features-rmi'
193     <<: *functest-kubernetes-params
194     container: 'functest-kubernetes-features'
195     jobs:
196       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
197
198 - job-template:
199     name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
200     parameters:
201       - functest-kubernetes-slave:
202           slave: '{slave}'
203     builders:
204       - functest-kubernetes-run-containers:
205           <<: *functest-kubernetes-run-containers
206
207 - project:
208     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
209     <<: *functest-kubernetes-params
210     container: 'functest-kubernetes-healthcheck'
211     test:
212       - k8s_smoke
213     jobs:
214       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
215
216 - project:
217     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
218     <<: *functest-kubernetes-params
219     container: 'functest-kubernetes-smoke'
220     test:
221       - xrally_kubernetes
222       - k8s_conformance
223     jobs:
224       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
225     exclude:
226       - tag: iruya
227         test: xrally_kubernetes
228       - tag: hunter
229         test: xrally_kubernetes
230
231 - project:
232     name: 'functest-kubernetes-opnfv-functest-kubernetes-features'
233     <<: *functest-kubernetes-params
234     container: 'functest-kubernetes-features'
235     test:
236       - stor4nfv_k8s
237       - clover_k8s
238     jobs:
239       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
240
241 - job-template:
242     name: 'functest-kubernetes-{tag}-daily'
243     project-type: multijob
244     triggers:
245       - timed: '@daily'
246     parameters:
247       - functest-kubernetes-slave:
248           slave: '{slave}'
249     properties:
250       - build-blocker:
251           use-build-blocker: true
252           blocking-level: 'NODE'
253           blocking-jobs:
254             - '^functest-kubernetes-{tag}-(daily|check|gate)$'
255     builders:
256       - multijob:
257           name: remove former images
258           projects:
259             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
260               <<: *functest-kubernetes-jobs
261             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
262               <<: *functest-kubernetes-jobs
263             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-rmi'
264               <<: *functest-kubernetes-jobs
265       - multijob:
266           name: pull containers
267           projects:
268             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
269               <<: *functest-kubernetes-jobs
270             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
271               <<: *functest-kubernetes-jobs
272             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-pull'
273               <<: *functest-kubernetes-jobs
274       - multijob:
275           name: opnfv/functest-kubernetes-healthcheck:{tag}
276           projects:
277             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
278               <<: *functest-kubernetes-jobs
279       - multijob:
280           name: opnfv/functest-kubernetes-smoke:{tag}
281           execution-type: SEQUENTIALLY
282           projects:
283             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
284               <<: *functest-kubernetes-jobs
285             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
286               <<: *functest-kubernetes-jobs
287       - multijob:
288           name: opnfv/functest-kubernetes-features:{tag}
289           projects:
290             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
291               <<: *functest-kubernetes-jobs
292             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
293               <<: *functest-kubernetes-jobs
294
295 - job-template:
296     name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
297     parameters:
298       - functest-kubernetes-slave:
299           slave: '{slave}'
300     scm:
301       - functest-kubernetes-scm:
302           ref: $GERRIT_REFSPEC
303     builders:
304       - functest-kubernetes-build-containers:
305           <<: *functest-kubernetes-build-containers
306           ref: $GERRIT_REFSPEC
307
308 - job-template:
309     name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
310     parameters:
311       - functest-kubernetes-slave:
312           slave: '{slave}'
313       - functest-kubernetes-branch:
314           branch: '{branch}'
315     scm:
316       - functest-kubernetes-scm:
317           ref: $branch
318     builders:
319       - functest-kubernetes-build-containers:
320           <<: *functest-kubernetes-build-containers
321           ref: $branch
322
323 - project:
324     name: 'functest-kubernetes-_-golang-alpine3.10-rmi'
325     repo: _
326     port:
327     container: golang
328     tag: 'alpine3.10'
329     slave: master
330     jobs:
331       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
332
333 - project:
334     name: 'functest-kubernetes-_-golang-alpine3.10-pull'
335     repo: _
336     port:
337     container: golang
338     tag: 'alpine3.10'
339     slave: master
340     jobs:
341       - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
342
343 - project:
344     name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
345     <<: *functest-kubernetes-params
346     container: functest-kubernetes-core
347     ref_arg: BRANCH
348     path: docker/core
349     jobs:
350       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
351       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
352
353 - project:
354     name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
355     <<: *functest-kubernetes-params
356     container: functest-kubernetes-healthcheck
357     ref_arg:
358     path: docker/healthcheck
359     jobs:
360       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
361       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
362
363 - project:
364     name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
365     <<: *functest-kubernetes-params
366     container: functest-kubernetes-smoke
367     ref_arg:
368     path: docker/smoke
369     jobs:
370       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
371       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
372
373 - project:
374     name: functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-build
375     <<: *functest-kubernetes-params
376     container: functest-kubernetes-features
377     ref_arg:
378     path: docker/features
379     jobs:
380       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
381       - 'functest-kubernetes-{repo}-{container}-{tag}-check'
382
383 - job-template:
384     name: 'functest-kubernetes-{tag}-check'
385     project-type: multijob
386     parameters:
387       - functest-kubernetes-slave:
388           slave: '{slave}'
389       - functest-kubernetes-branch:
390           branch: '{branch}'
391     properties:
392       - build-blocker:
393           use-build-blocker: true
394           blocking-level: 'NODE'
395           blocking-jobs:
396             - '^functest-kubernetes-{tag}-(daily|check|gate)$'
397     builders:
398       - multijob:
399           name: remove former images
400           projects:
401             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
402               <<: *functest-kubernetes-jobs
403             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
404               <<: *functest-kubernetes-jobs
405             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-rmi'
406               <<: *functest-kubernetes-jobs
407       - multijob:
408           name: remove dependencies
409           projects:
410             - name: 'functest-kubernetes-_-golang-alpine3.10-rmi'
411               <<: *functest-kubernetes-jobs
412       - multijob:
413           name: pull dependencies
414           projects:
415             - name: 'functest-kubernetes-_-golang-alpine3.10-pull'
416               <<: *functest-kubernetes-jobs
417       - multijob:
418           name: build opnfv/functest-kubernetes-core
419           projects:
420             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-check'
421               <<: *functest-kubernetes-jobs
422       - multijob:
423           name: build opnfv/functest-kubernetes-healthcheck
424           projects:
425             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-check'
426               <<: *functest-kubernetes-jobs
427       - multijob:
428           name: build containers
429           projects:
430             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-check'
431               <<: *functest-kubernetes-jobs
432             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-check'
433               <<: *functest-kubernetes-jobs
434       - multijob:
435           name: opnfv/functest-kubernetes-healthcheck:{tag}
436           projects:
437             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
438               <<: *functest-kubernetes-jobs
439       - multijob:
440           name: opnfv/functest-kubernetes-smoke:{tag}
441           execution-type: SEQUENTIALLY
442           projects:
443             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
444               <<: *functest-kubernetes-jobs
445             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
446               <<: *functest-kubernetes-jobs
447       - multijob:
448           name: opnfv/functest-kubernetes-features:{tag}
449           projects:
450             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
451               <<: *functest-kubernetes-jobs
452             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
453               <<: *functest-kubernetes-jobs
454
455 - trigger:
456     name: functest-kubernetes-patchset-created
457     triggers:
458       - gerrit:
459           server-name: 'gerrit.opnfv.org'
460           trigger-on:
461             - patchset-created-event
462             - comment-added-contains-event:
463                 comment-contains-value: 'recheck'
464             - comment-added-contains-event:
465                 comment-contains-value: 'reverify'
466           projects:
467             - project-compare-type: 'ANT'
468               project-pattern: 'functest-kubernetes'
469               branches:
470                 - branch-compare-type: 'ANT'
471                   branch-pattern: '**/{branch}'
472           skip-vote:
473             successful: false
474             failed: false
475             unstable: false
476             notbuilt: false
477
478 - job-template:
479     name: 'functest-kubernetes-{tag}-gate'
480     project-type: multijob
481     triggers:
482       - functest-kubernetes-patchset-created:
483           branch: '{branch}'
484     parameters:
485       - functest-kubernetes-slave:
486           slave: '{slave}'
487     properties:
488       - build-blocker:
489           use-build-blocker: true
490           blocking-level: 'NODE'
491           blocking-jobs:
492             - '^functest-kubernetes-{tag}-(daily|check|gate)$'
493     builders:
494       - multijob:
495           name: remove former images
496           projects:
497             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
498               <<: *functest-kubernetes-jobs
499             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
500               <<: *functest-kubernetes-jobs
501             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-rmi'
502               <<: *functest-kubernetes-jobs
503       - multijob:
504           name: remove dependencies
505           projects:
506             - name: 'functest-kubernetes-_-golang-alpine3.10-rmi'
507               <<: *functest-kubernetes-jobs
508       - multijob:
509           name: pull dependencies
510           projects:
511             - name: 'functest-kubernetes-_-golang-alpine3.10-pull'
512               <<: *functest-kubernetes-jobs
513       - multijob:
514           name: build opnfv/functest-kubernetes-core
515           projects:
516             - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
517               <<: *functest-kubernetes-jobs
518       - multijob:
519           name: build opnfv/functest-kubernetes-healthcheck
520           projects:
521             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
522               <<: *functest-kubernetes-jobs
523       - multijob:
524           name: build containers
525           projects:
526             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
527               <<: *functest-kubernetes-jobs
528             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-gate'
529               <<: *functest-kubernetes-jobs
530       - multijob:
531           name: opnfv/functest-kubernetes-healthcheck:{tag}
532           projects:
533             - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
534               <<: *functest-kubernetes-jobs
535       - multijob:
536           name: opnfv/functest-kubernetes-smoke:{tag}
537           execution-type: SEQUENTIALLY
538           projects:
539             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
540               <<: *functest-kubernetes-jobs
541             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
542               <<: *functest-kubernetes-jobs
543       - multijob:
544           name: opnfv/functest-kubernetes-features:{tag}
545           projects:
546             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
547               <<: *functest-kubernetes-jobs
548             - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
549               <<: *functest-kubernetes-jobs
550
551 - project:
552     name: 'functest-kubernetes'
553     <<: *functest-kubernetes-params
554     jobs:
555       - 'functest-kubernetes-{tag}-daily'
556       - 'functest-kubernetes-{tag}-check'
557       - 'functest-kubernetes-{tag}-gate'
558
559 - view:
560     name: functest-kubernetes
561     view-type: list
562     columns:
563       - status
564       - weather
565       - job
566       - last-success
567       - last-failure
568       - last-duration
569     regex: ^functest-kubernetes-[a-z]+-(daily|check|gate)$