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