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