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