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