Update Functest Gates according to XtestingCI
[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
333 - builder:
334     name: functest-kubernetes-pi-zip
335     builders:
336       - shell: |
337           set +x
338           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
339           if [ "{repo}" = "_" ]; then
340             image={container}:{tag}
341           elif [ "{port}" = "None" ]; then
342             image={repo}/{container}:{tag}
343           else
344             image={repo}:{port}/{container}:{tag}
345           fi
346           docker run --rm \
347             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
348             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
349             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
350             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
351             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
352             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
353             -e BUILD_TAG=$BUILD_TAG \
354             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
355             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
356             -e E2E_TEST_OPTS=$E2E_TEST_OPTS \
357             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
358             $image zip_campaign
359
360 - job-template:
361     name: 'functest-kubernetes-pi-{tag}-zip'
362     parameters:
363       - functest-kubernetes-pi-slave:
364           slave: '{slave}'
365       - functest-kubernetes-pi-build_tag:
366           build_tag: ''
367       - functest-kubernetes-pi-DEPLOY_SCENARIO:
368           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
369       - functest-kubernetes-pi-E2E_TEST_OPTS:
370           E2E_TEST_OPTS: container-runtime:containerd
371     builders:
372       - functest-kubernetes-pi-zip:
373           <<: *functest-kubernetes-pi-containers
374
375 - project:
376     name: 'functest-kubernetes-pi-{tag}-zip'
377     <<: *functest-kubernetes-pi-params
378     container: 'functest-kubernetes-healthcheck'
379     jobs:
380       - 'functest-kubernetes-pi-{tag}-zip'
381
382 - job-template:
383     name: 'functest-kubernetes-pi-{tag}-daily'
384     project-type: multijob
385     triggers:
386       - timed: '@weekly'
387     parameters:
388       - functest-kubernetes-pi-slave:
389           slave: '{slave}'
390       - functest-kubernetes-pi-build_tag:
391           build_tag: ''
392       - functest-kubernetes-pi-DEPLOY_SCENARIO:
393           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
394       - functest-kubernetes-pi-E2E_TEST_OPTS:
395           E2E_TEST_OPTS: container-runtime:containerd
396     # PyYAML and yamllint differ here
397     # see https://github.com/yaml/pyyaml/issues/234
398     # yamllint disable rule:indentation
399     properties:
400       - build-blocker:
401           blocking-jobs:
402           - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
403     # yamllint enable rule:indentation
404     builders:
405       - multijob:
406           name: remove former images
407           projects:
408             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-rmi'
409               <<: *functest-kubernetes-pi-jobs
410             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-rmi'
411               <<: *functest-kubernetes-pi-jobs
412             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-rmi'
413               <<: *functest-kubernetes-pi-jobs
414             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-rmi'
415               <<: *functest-kubernetes-pi-jobs
416             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-rmi'
417               <<: *functest-kubernetes-pi-jobs
418       - multijob:
419           name: pull containers
420           projects:
421             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-pull'
422               <<: *functest-kubernetes-pi-jobs
423             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-pull'
424               <<: *functest-kubernetes-pi-jobs
425             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-pull'
426               <<: *functest-kubernetes-pi-jobs
427             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-pull'
428               <<: *functest-kubernetes-pi-jobs
429             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-pull'
430               <<: *functest-kubernetes-pi-jobs
431       - multijob:
432           name: ollivier/functest-kubernetes-healthcheck:{tag}
433           projects:
434             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
435               <<: *functest-kubernetes-pi-jobs
436             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
437               <<: *functest-kubernetes-pi-jobs
438       - multijob:
439           name: ollivier/functest-kubernetes-smoke:{tag}
440           execution-type: SEQUENTIALLY
441           projects:
442             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
443               <<: *functest-kubernetes-pi-jobs
444             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_io-run'
445               <<: *functest-kubernetes-pi-jobs
446             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
447               <<: *functest-kubernetes-pi-jobs
448             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
449               <<: *functest-kubernetes-pi-jobs
450             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
451               <<: *functest-kubernetes-pi-jobs
452             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
453               <<: *functest-kubernetes-pi-jobs
454             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_apps-run'
455               <<: *functest-kubernetes-pi-jobs
456             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
457               <<: *functest-kubernetes-pi-jobs
458             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_auth-run'
459               <<: *functest-kubernetes-pi-jobs
460             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_cli-run'
461               <<: *functest-kubernetes-pi-jobs
462             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_cli_serial-run'
463               <<: *functest-kubernetes-pi-jobs
464             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
465               <<: *functest-kubernetes-pi-jobs
466             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
467               <<: *functest-kubernetes-pi-jobs
468             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network-run'
469               <<: *functest-kubernetes-pi-jobs
470             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network_serial-run'
471               <<: *functest-kubernetes-pi-jobs
472             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_node-run'
473               <<: *functest-kubernetes-pi-jobs
474             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
475               <<: *functest-kubernetes-pi-jobs
476             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_storage-run'
477               <<: *functest-kubernetes-pi-jobs
478             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
479               <<: *functest-kubernetes-pi-jobs
480       - multijob:
481           name: ollivier/functest-kubernetes-security:{tag}
482           projects:
483             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_hunter-run'
484               <<: *functest-kubernetes-pi-jobs
485             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench_master-run'
486               <<: *functest-kubernetes-pi-jobs
487             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench_node-run'
488               <<: *functest-kubernetes-pi-jobs
489       - multijob:
490           name: ollivier/functest-kubernetes-benchmarking:{tag}
491           projects:
492             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
493               <<: *functest-kubernetes-pi-jobs
494             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-netperf-run'
495               <<: *functest-kubernetes-pi-jobs
496       - multijob:
497           name: ollivier/functest-kubernetes-cnf:{tag}
498           projects:
499             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-k8s_vims-run'
500               <<: *functest-kubernetes-pi-jobs
501             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-helm_vims-run'
502               <<: *functest-kubernetes-pi-jobs
503             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
504               <<: *functest-kubernetes-pi-jobs
505       - multijob:
506           name: dump all campaign data
507           projects:
508             - name: 'functest-kubernetes-pi-{tag}-zip'
509               <<: *functest-kubernetes-pi-jobs
510
511 - project:
512     name: 'functest-kubernetes-pi-daily'
513     <<: *functest-kubernetes-pi-params
514     jobs:
515       - 'functest-kubernetes-pi-{tag}-daily'
516
517 - view:
518     name: functest-kubernetes-pi
519     view-type: list
520     columns:
521       - status
522       - weather
523       - job
524       - last-success
525       - last-failure
526       - last-duration
527     regex: ^functest-kubernetes-pi-[a-z-0-9.]+-daily$