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