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