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