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