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