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