Merge "Add Workspace Permission Fix Wrapper for SampleVNF"
[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     jobs:
300       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
301
302 - project:
303     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf'
304     <<: *functest-kubernetes-pi-params
305     container: 'functest-kubernetes-cnf'
306     test:
307       - k8s_vims
308       - helm_vims
309       - cnf_testsuite
310     privileged: 'false'
311     network: bridge
312     jobs:
313       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
314
315
316 - builder:
317     name: functest-kubernetes-pi-zip
318     builders:
319       - shell: |
320           set +x
321           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
322           if [ "{repo}" = "_" ]; then
323             image={container}:{tag}
324           elif [ "{port}" = "None" ]; then
325             image={repo}/{container}:{tag}
326           else
327             image={repo}:{port}/{container}:{tag}
328           fi
329           docker run --rm \
330             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
331             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
332             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
333             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
334             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
335             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
336             -e BUILD_TAG=$BUILD_TAG \
337             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
338             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
339             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
340             $image zip_campaign
341
342 - job-template:
343     name: 'functest-kubernetes-pi-{tag}-zip'
344     parameters:
345       - functest-kubernetes-pi-slave:
346           slave: '{slave}'
347       - functest-kubernetes-pi-build_tag:
348           build_tag: ''
349       - functest-kubernetes-pi-DEPLOY_SCENARIO:
350           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
351     builders:
352       - functest-kubernetes-pi-zip:
353           <<: *functest-kubernetes-pi-containers
354
355 - project:
356     name: 'functest-kubernetes-pi-{tag}-zip'
357     <<: *functest-kubernetes-pi-params
358     container: 'functest-kubernetes-healthcheck'
359     jobs:
360       - 'functest-kubernetes-pi-{tag}-zip'
361
362 - job-template:
363     name: 'functest-kubernetes-pi-{tag}-daily'
364     project-type: multijob
365     triggers:
366       - timed: '@weekly'
367     parameters:
368       - functest-kubernetes-pi-slave:
369           slave: '{slave}'
370       - functest-kubernetes-pi-build_tag:
371           build_tag: ''
372       - functest-kubernetes-pi-DEPLOY_SCENARIO:
373           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
374     properties:
375       - build-blocker:
376           use-build-blocker: true
377           blocking-level: 'NODE'
378           blocking-jobs:
379             - '^functest-kubernetes-pi-{tag}-(daily|docker|review)$'
380     builders:
381       - multijob:
382           name: remove former images
383           projects:
384             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-rmi'
385               <<: *functest-kubernetes-pi-jobs
386             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-rmi'
387               <<: *functest-kubernetes-pi-jobs
388             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-rmi'
389               <<: *functest-kubernetes-pi-jobs
390             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-rmi'
391               <<: *functest-kubernetes-pi-jobs
392             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-rmi'
393               <<: *functest-kubernetes-pi-jobs
394       - multijob:
395           name: pull containers
396           projects:
397             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-pull'
398               <<: *functest-kubernetes-pi-jobs
399             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-pull'
400               <<: *functest-kubernetes-pi-jobs
401             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-pull'
402               <<: *functest-kubernetes-pi-jobs
403             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-pull'
404               <<: *functest-kubernetes-pi-jobs
405             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-pull'
406               <<: *functest-kubernetes-pi-jobs
407       - multijob:
408           name: ollivier/functest-kubernetes-healthcheck:{tag}
409           projects:
410             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
411               <<: *functest-kubernetes-pi-jobs
412             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
413               <<: *functest-kubernetes-pi-jobs
414       - multijob:
415           name: ollivier/functest-kubernetes-smoke:{tag}
416           execution-type: SEQUENTIALLY
417           projects:
418             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
419               <<: *functest-kubernetes-pi-jobs
420             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_io-run'
421               <<: *functest-kubernetes-pi-jobs
422             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
423               <<: *functest-kubernetes-pi-jobs
424             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
425               <<: *functest-kubernetes-pi-jobs
426             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
427               <<: *functest-kubernetes-pi-jobs
428             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
429               <<: *functest-kubernetes-pi-jobs
430             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_apps-run'
431               <<: *functest-kubernetes-pi-jobs
432             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
433               <<: *functest-kubernetes-pi-jobs
434             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_auth-run'
435               <<: *functest-kubernetes-pi-jobs
436             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_cli-run'
437               <<: *functest-kubernetes-pi-jobs
438             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_cli_serial-run'
439               <<: *functest-kubernetes-pi-jobs
440             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
441               <<: *functest-kubernetes-pi-jobs
442             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
443               <<: *functest-kubernetes-pi-jobs
444             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network-run'
445               <<: *functest-kubernetes-pi-jobs
446             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network_serial-run'
447               <<: *functest-kubernetes-pi-jobs
448             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_node-run'
449               <<: *functest-kubernetes-pi-jobs
450             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
451               <<: *functest-kubernetes-pi-jobs
452             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_storage-run'
453               <<: *functest-kubernetes-pi-jobs
454             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
455               <<: *functest-kubernetes-pi-jobs
456       - multijob:
457           name: ollivier/functest-kubernetes-security:{tag}
458           projects:
459             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_hunter-run'
460               <<: *functest-kubernetes-pi-jobs
461             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench_master-run'
462               <<: *functest-kubernetes-pi-jobs
463             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench_node-run'
464               <<: *functest-kubernetes-pi-jobs
465       - multijob:
466           name: ollivier/functest-kubernetes-benchmarking:{tag}
467           projects:
468             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
469               <<: *functest-kubernetes-pi-jobs
470             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-netperf-run'
471               <<: *functest-kubernetes-pi-jobs
472       - multijob:
473           name: ollivier/functest-kubernetes-cnf:{tag}
474           projects:
475             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-k8s_vims-run'
476               <<: *functest-kubernetes-pi-jobs
477             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-helm_vims-run'
478               <<: *functest-kubernetes-pi-jobs
479             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
480               <<: *functest-kubernetes-pi-jobs
481       - multijob:
482           name: dump all campaign data
483           projects:
484             - name: 'functest-kubernetes-pi-{tag}-zip'
485               <<: *functest-kubernetes-pi-jobs
486
487 - project:
488     name: 'functest-kubernetes-pi-daily'
489     <<: *functest-kubernetes-pi-params
490     jobs:
491       - 'functest-kubernetes-pi-{tag}-daily'
492
493 - view:
494     name: functest-kubernetes-pi
495     view-type: list
496     columns:
497       - status
498       - weather
499       - job
500       - last-success
501       - last-failure
502       - last-duration
503     regex: ^functest-kubernetes-pi-[a-z-0-9.]+-daily$