Merge "Adding file to build rapid vm qcow2 image"
[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-6
16       - leguer:
17           slave: lf-virtual1-5
18       - kali:
19           slave: lf-virtual1-4
20       - jerma:
21           slave: lf-virtual1-3
22       - iruya:
23           slave: lf-virtual1-2
24       - hunter:
25           slave: lf-virtual1-1
26       - arm-latest:
27           slave: lf-virtual1-6
28       - arm-leguer:
29           slave: lf-virtual1-5
30       - arm-kali:
31           slave: lf-virtual1-4
32       - arm-jerma:
33           slave: lf-virtual1-3
34       - arm-iruya:
35           slave: lf-virtual1-2
36       - arm-hunter:
37           slave: lf-virtual1-1
38       - arm64-latest:
39           slave: lf-virtual1-6
40       - arm64-leguer:
41           slave: lf-virtual1-5
42       - arm64-kali:
43           slave: lf-virtual1-4
44       - arm64-jerma:
45           slave: lf-virtual1-3
46       - arm64-iruya:
47           slave: lf-virtual1-2
48       - arm64-hunter:
49           slave: lf-virtual1-1
50
51 - functest-kubernetes-pi-jobs: &functest-kubernetes-pi-jobs
52     name: 'functest-kubernetes-pi-jobs'
53     current-parameters: true
54
55 - parameter:
56     name: functest-kubernetes-pi-slave
57     parameters:
58       - label:
59           name: slave
60           default: '{slave}'
61
62 - parameter:
63     name: functest-kubernetes-pi-build_tag
64     parameters:
65       - random-string:
66           name: build_tag
67
68 - parameter:
69     name: functest-kubernetes-pi-DEPLOY_SCENARIO
70     parameters:
71       - string:
72           name: DEPLOY_SCENARIO
73           default: k8-nosdn-nofeature-noha
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 - job-template:
140     name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
141     parameters:
142       - functest-kubernetes-pi-slave:
143           slave: '{slave}'
144     builders:
145       - functest-kubernetes-pi-pull-containers:
146           <<: *functest-kubernetes-pi-containers
147
148 - project:
149     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-pull'
150     <<: *functest-kubernetes-pi-params
151     container: 'functest-kubernetes-healthcheck'
152     jobs:
153       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
154
155 - project:
156     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-pull'
157     <<: *functest-kubernetes-pi-params
158     container: 'functest-kubernetes-smoke'
159     jobs:
160       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
161
162 - project:
163     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-pull'
164     <<: *functest-kubernetes-pi-params
165     container: 'functest-kubernetes-security'
166     jobs:
167       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
168
169 - project:
170     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-pull'
171     <<: *functest-kubernetes-pi-params
172     container: 'functest-kubernetes-benchmarking'
173     jobs:
174       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
175
176 - project:
177     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-pull'
178     <<: *functest-kubernetes-pi-params
179     container: 'functest-kubernetes-cnf'
180     jobs:
181       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
182
183 - job-template:
184     name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
185     parameters:
186       - functest-kubernetes-pi-slave:
187           slave: '{slave}'
188     builders:
189       - functest-kubernetes-pi-remove-images:
190           <<: *functest-kubernetes-pi-containers
191
192 - project:
193     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-rmi'
194     <<: *functest-kubernetes-pi-params
195     container: 'functest-kubernetes-healthcheck'
196     jobs:
197       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
198
199 - project:
200     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-rmi'
201     <<: *functest-kubernetes-pi-params
202     container: 'functest-kubernetes-smoke'
203     jobs:
204       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
205
206 - project:
207     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-rmi'
208     <<: *functest-kubernetes-pi-params
209     container: 'functest-kubernetes-security'
210     jobs:
211       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
212
213 - project:
214     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-rmi'
215     <<: *functest-kubernetes-pi-params
216     container: 'functest-kubernetes-benchmarking'
217     jobs:
218       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
219
220 - project:
221     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-rmi'
222     <<: *functest-kubernetes-pi-params
223     container: 'functest-kubernetes-cnf'
224     jobs:
225       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
226
227 - job-template:
228     name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
229     parameters:
230       - functest-kubernetes-pi-slave:
231           slave: '{slave}'
232       - functest-kubernetes-pi-build_tag:
233           build_tag: ''
234       - functest-kubernetes-pi-DEPLOY_SCENARIO:
235           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
236     builders:
237       - functest-kubernetes-pi-run-containers:
238           <<: *functest-kubernetes-pi-run-containers
239
240 - project:
241     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck'
242     <<: *functest-kubernetes-pi-params
243     container: 'functest-kubernetes-healthcheck'
244     test:
245       - k8s_quick
246       - k8s_smoke
247     privileged: 'false'
248     network: bridge
249     jobs:
250       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
251
252 - project:
253     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke'
254     <<: *functest-kubernetes-pi-params
255     container: 'functest-kubernetes-smoke'
256     test:
257       - xrally_kubernetes
258       - k8s_conformance
259       - sig_network
260       - sig_network_features
261       - sig_storage
262     privileged: 'false'
263     network: bridge
264     exclude:
265       - {'tag': 'jerma', 'test': 'sig_network'}
266       - {'tag': 'jerma', 'test': 'sig_network_features'}
267       - {'tag': 'jerma', 'test': 'sig_storage'}
268       - {'tag': 'iruya', 'test': 'sig_network'}
269       - {'tag': 'iruya', 'test': 'sig_network_features'}
270       - {'tag': 'iruya', 'test': 'sig_storage'}
271       - {'tag': 'hunter', 'test': 'sig_network'}
272       - {'tag': 'hunter', 'test': 'sig_network_features'}
273       - {'tag': 'hunter', 'test': 'sig_storage'}
274       - {'tag': 'arm-jerma', 'test': 'sig_network'}
275       - {'tag': 'arm-jerma', 'test': 'sig_network_features'}
276       - {'tag': 'arm-jerma', 'test': 'sig_storage'}
277       - {'tag': 'arm-iruya', 'test': 'sig_network'}
278       - {'tag': 'arm-iruya', 'test': 'sig_network_features'}
279       - {'tag': 'arm-iruya', 'test': 'sig_storage'}
280       - {'tag': 'arm-hunter', 'test': 'sig_network'}
281       - {'tag': 'arm-hunter', 'test': 'sig_network_features'}
282       - {'tag': 'arm-hunter', 'test': 'sig_storage'}
283       - {'tag': 'arm64-jerma', 'test': 'sig_network'}
284       - {'tag': 'arm64-jerma', 'test': 'sig_network_features'}
285       - {'tag': 'arm64-jerma', 'test': 'sig_storage'}
286       - {'tag': 'arm64-iruya', 'test': 'sig_network'}
287       - {'tag': 'arm64-iruya', 'test': 'sig_network_features'}
288       - {'tag': 'arm64-iruya', 'test': 'sig_storage'}
289       - {'tag': 'arm64-hunter', 'test': 'sig_network'}
290       - {'tag': 'arm64-hunter', 'test': 'sig_network_features'}
291       - {'tag': 'arm64-hunter', 'test': 'sig_storage'}
292     jobs:
293       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
294
295 - project:
296     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security'
297     <<: *functest-kubernetes-pi-params
298     container: 'functest-kubernetes-security'
299     test:
300       - kube_hunter
301       - kube_bench_master
302       - kube_bench_node
303     privileged: 'false'
304     network: bridge
305     jobs:
306       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
307
308 - project:
309     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking'
310     <<: *functest-kubernetes-pi-params
311     container: 'functest-kubernetes-benchmarking'
312     test:
313       - xrally_kubernetes_full
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_conformance
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             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
357             $image zip_campaign
358
359 - job-template:
360     name: 'functest-kubernetes-pi-{tag}-zip'
361     parameters:
362       - functest-kubernetes-pi-slave:
363           slave: '{slave}'
364       - functest-kubernetes-pi-build_tag:
365           build_tag: ''
366       - functest-kubernetes-pi-DEPLOY_SCENARIO:
367           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
368     builders:
369       - functest-kubernetes-pi-zip:
370           <<: *functest-kubernetes-pi-containers
371
372 - project:
373     name: 'functest-kubernetes-pi-{tag}-zip'
374     <<: *functest-kubernetes-pi-params
375     container: 'functest-kubernetes-healthcheck'
376     jobs:
377       - 'functest-kubernetes-pi-{tag}-zip'
378
379 - job-template:
380     name: 'functest-kubernetes-pi-{tag}-daily'
381     project-type: multijob
382     triggers:
383       - timed: '@weekly'
384     parameters:
385       - functest-kubernetes-pi-slave:
386           slave: '{slave}'
387       - functest-kubernetes-pi-build_tag:
388           build_tag: ''
389       - functest-kubernetes-pi-DEPLOY_SCENARIO:
390           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
391     properties:
392       - build-blocker:
393           use-build-blocker: true
394           blocking-level: 'NODE'
395           blocking-jobs:
396             - '^functest-kubernetes-pi-{tag}-(daily|docker|review)$'
397     builders:
398       - multijob:
399           name: remove former images
400           projects:
401             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-rmi'
402               <<: *functest-kubernetes-pi-jobs
403             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-rmi'
404               <<: *functest-kubernetes-pi-jobs
405             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-rmi'
406               <<: *functest-kubernetes-pi-jobs
407             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-rmi'
408               <<: *functest-kubernetes-pi-jobs
409             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-rmi'
410               <<: *functest-kubernetes-pi-jobs
411       - multijob:
412           name: pull containers
413           projects:
414             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-pull'
415               <<: *functest-kubernetes-pi-jobs
416             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-pull'
417               <<: *functest-kubernetes-pi-jobs
418             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-pull'
419               <<: *functest-kubernetes-pi-jobs
420             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-pull'
421               <<: *functest-kubernetes-pi-jobs
422             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-pull'
423               <<: *functest-kubernetes-pi-jobs
424       - multijob:
425           name: ollivier/functest-kubernetes-healthcheck:{tag}
426           projects:
427             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
428               <<: *functest-kubernetes-pi-jobs
429             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
430               <<: *functest-kubernetes-pi-jobs
431       - multijob:
432           name: ollivier/functest-kubernetes-smoke:{tag}
433           projects:
434             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
435               <<: *functest-kubernetes-pi-jobs
436             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
437               <<: *functest-kubernetes-pi-jobs
438             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network-run'
439               <<: *functest-kubernetes-pi-jobs
440             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network_features-run'
441               <<: *functest-kubernetes-pi-jobs
442             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_storage-run'
443               <<: *functest-kubernetes-pi-jobs
444       - multijob:
445           name: ollivier/functest-kubernetes-security:{tag}
446           projects:
447             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_hunter-run'
448               <<: *functest-kubernetes-pi-jobs
449             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench_master-run'
450               <<: *functest-kubernetes-pi-jobs
451             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench_node-run'
452               <<: *functest-kubernetes-pi-jobs
453       - multijob:
454           name: ollivier/functest-kubernetes-benchmarking:{tag}
455           projects:
456             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
457               <<: *functest-kubernetes-pi-jobs
458       - multijob:
459           name: ollivier/functest-kubernetes-cnf:{tag}
460           projects:
461             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-k8s_vims-run'
462               <<: *functest-kubernetes-pi-jobs
463             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-helm_vims-run'
464               <<: *functest-kubernetes-pi-jobs
465             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
466               <<: *functest-kubernetes-pi-jobs
467       - multijob:
468           name: dump all campaign data
469           projects:
470             - name: 'functest-kubernetes-pi-{tag}-zip'
471               <<: *functest-kubernetes-pi-jobs
472
473 - project:
474     name: 'functest-kubernetes-pi-daily'
475     <<: *functest-kubernetes-pi-params
476     jobs:
477       - 'functest-kubernetes-pi-{tag}-daily'
478
479 - view:
480     name: functest-kubernetes-pi
481     view-type: list
482     columns:
483       - status
484       - weather
485       - job
486       - last-success
487       - last-failure
488       - last-duration
489     regex: ^functest-kubernetes-pi-[a-z-0-9.]+-daily$