Add Lint process to Kuberef
[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-latest
178       - tag: arm-kali
179       - tag: arm-jerma
180       - tag: arm-iruya
181       - tag: arm-hunter
182       - tag: arm64-latest
183       - tag: arm64-kali
184       - tag: arm64-jerma
185       - tag: arm64-iruya
186       - tag: arm64-hunter
187     jobs:
188       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
189
190 - project:
191     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-pull'
192     <<: *functest-kubernetes-pi-params
193     container: 'functest-kubernetes-smoke'
194     exclude:
195       - tag: arm-latest
196       - tag: arm-kali
197       - tag: arm-jerma
198       - tag: arm-iruya
199       - tag: arm-hunter
200       - tag: arm64-latest
201       - tag: arm64-kali
202       - tag: arm64-jerma
203       - tag: arm64-iruya
204       - tag: arm64-hunter
205     jobs:
206       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
207
208 - project:
209     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-pull'
210     <<: *functest-kubernetes-pi-params
211     container: 'functest-kubernetes-security'
212     jobs:
213       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
214
215 - project:
216     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-pull'
217     <<: *functest-kubernetes-pi-params
218     container: 'functest-kubernetes-cnf'
219     jobs:
220       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
221
222 - job-template:
223     name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
224     parameters:
225       - functest-kubernetes-pi-slave:
226           slave: '{slave}'
227     builders:
228       - functest-kubernetes-pi-remove-images:
229           <<: *functest-kubernetes-pi-containers
230
231 - project:
232     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-rmi'
233     <<: *functest-kubernetes-pi-params
234     container: 'functest-kubernetes-healthcheck'
235     exclude:
236       - tag: arm-latest
237       - tag: arm-kali
238       - tag: arm-jerma
239       - tag: arm-iruya
240       - tag: arm-hunter
241       - tag: arm64-latest
242       - tag: arm64-kali
243       - tag: arm64-jerma
244       - tag: arm64-iruya
245       - tag: arm64-hunter
246     jobs:
247       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
248
249 - project:
250     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-rmi'
251     <<: *functest-kubernetes-pi-params
252     container: 'functest-kubernetes-smoke'
253     exclude:
254       - tag: arm-latest
255       - tag: arm-kali
256       - tag: arm-jerma
257       - tag: arm-iruya
258       - tag: arm-hunter
259       - tag: arm64-latest
260       - tag: arm64-kali
261       - tag: arm64-jerma
262       - tag: arm64-iruya
263       - tag: arm64-hunter
264     jobs:
265       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
266
267 - project:
268     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-rmi'
269     <<: *functest-kubernetes-pi-params
270     container: 'functest-kubernetes-security'
271     jobs:
272       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
273
274 - project:
275     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-rmi'
276     <<: *functest-kubernetes-pi-params
277     container: 'functest-kubernetes-cnf'
278     jobs:
279       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
280
281 - job-template:
282     name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
283     parameters:
284       - functest-kubernetes-pi-slave:
285           slave: '{slave}'
286       - functest-kubernetes-pi-build_tag:
287           build_tag: ''
288       - functest-kubernetes-pi-DEPLOY_SCENARIO:
289           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
290       - functest-kubernetes-pi-DEBUG:
291           DEBUG: 'true'
292     builders:
293       - functest-kubernetes-pi-run-containers:
294           <<: *functest-kubernetes-pi-run-containers
295
296 - project:
297     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck'
298     <<: *functest-kubernetes-pi-params
299     container: 'functest-kubernetes-healthcheck'
300     test:
301       - k8s_smoke
302     exclude:
303       - tag: arm-latest
304       - tag: arm-kali
305       - tag: arm-jerma
306       - tag: arm-iruya
307       - tag: arm-hunter
308       - tag: arm64-latest
309       - tag: arm64-kali
310       - tag: arm64-jerma
311       - tag: arm64-iruya
312       - tag: arm64-hunter
313     privileged: 'false'
314     network: bridge
315     jobs:
316       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
317
318 - project:
319     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke'
320     <<: *functest-kubernetes-pi-params
321     container: 'functest-kubernetes-smoke'
322     test:
323       - xrally_kubernetes
324       - k8s_conformance
325     exclude:
326       - tag: arm-latest
327       - tag: arm-kali
328       - tag: arm-jerma
329       - tag: arm-iruya
330       - tag: arm-hunter
331       - tag: arm64-latest
332       - tag: arm64-kali
333       - tag: arm64-jerma
334       - tag: arm64-iruya
335       - tag: arm64-hunter
336     privileged: 'false'
337     network: bridge
338     jobs:
339       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
340
341 - project:
342     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security'
343     <<: *functest-kubernetes-pi-params
344     container: 'functest-kubernetes-security'
345     test:
346       - kube_hunter
347       - kube_bench
348     privileged: 'false'
349     network: bridge
350     jobs:
351       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
352
353 - project:
354     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf'
355     <<: *functest-kubernetes-pi-params
356     container: 'functest-kubernetes-cnf'
357     test:
358       - k8s_vims
359     privileged: 'false'
360     network: bridge
361     jobs:
362       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
363
364
365 - builder:
366     name: functest-kubernetes-pi-zip
367     builders:
368       - shell: |
369           set +x
370           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
371           if [ "{repo}" = "_" ]; then
372             image={container}:{tag}
373           elif [ "{port}" = "None" ]; then
374             image={repo}/{container}:{tag}
375           else
376             image={repo}:{port}/{container}:{tag}
377           fi
378           docker run --rm \
379             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
380             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
381             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
382             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
383             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
384             -e BUILD_TAG=$BUILD_TAG \
385             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
386             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
387             -e DEBUG=$DEBUG \
388             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
389             -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
390             $image zip_campaign
391
392 - job-template:
393     name: 'functest-kubernetes-pi-{tag}-zip'
394     parameters:
395       - functest-kubernetes-pi-slave:
396           slave: '{slave}'
397       - functest-kubernetes-pi-build_tag:
398           build_tag: ''
399       - functest-kubernetes-pi-DEPLOY_SCENARIO:
400           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
401       - functest-kubernetes-pi-DEBUG:
402           DEBUG: 'true'
403     builders:
404       - functest-kubernetes-pi-zip:
405           <<: *functest-kubernetes-pi-containers
406
407 - project:
408     name: 'functest-kubernetes-pi-{tag}-zip'
409     <<: *functest-kubernetes-pi-params
410     container: 'functest-kubernetes-security'
411     jobs:
412       - 'functest-kubernetes-pi-{tag}-zip'
413
414 - job-template:
415     name: 'functest-kubernetes-pi-{tag}-daily'
416     project-type: multijob
417     triggers:
418       - timed: '@daily'
419     parameters:
420       - functest-kubernetes-pi-slave:
421           slave: '{slave}'
422       - functest-kubernetes-pi-build_tag:
423           build_tag: ''
424       - functest-kubernetes-pi-DEPLOY_SCENARIO:
425           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
426       - functest-kubernetes-pi-DEBUG:
427           DEBUG: 'true'
428     properties:
429       - build-blocker:
430           use-build-blocker: true
431           blocking-level: 'NODE'
432           blocking-jobs:
433             - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
434     builders:
435       - multijob:
436           name: remove former images
437           projects:
438             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-rmi'
439               <<: *functest-kubernetes-pi-jobs
440             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-rmi'
441               <<: *functest-kubernetes-pi-jobs
442             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{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-cnf-{tag}-pull'
456               <<: *functest-kubernetes-pi-jobs
457       - multijob:
458           name: ollivier/functest-kubernetes-healthcheck:{tag}
459           projects:
460             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
461               <<: *functest-kubernetes-pi-jobs
462       - multijob:
463           name: ollivier/functest-kubernetes-smoke:{tag}
464           projects:
465             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
466               <<: *functest-kubernetes-pi-jobs
467             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
468               <<: *functest-kubernetes-pi-jobs
469       - multijob:
470           name: ollivier/functest-kubernetes-security:{tag}
471           projects:
472             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_hunter-run'
473               <<: *functest-kubernetes-pi-jobs
474             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench-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       - multijob:
482           name: dump all campaign data
483           projects:
484             - name: 'functest-kubernetes-pi-{tag}-zip'
485               <<: *functest-kubernetes-pi-jobs
486
487
488 - project:
489     name: 'functest-kubernetes-pi'
490     <<: *functest-kubernetes-pi-params
491     jobs:
492       - 'functest-kubernetes-pi-{tag}-daily'
493
494 - view:
495     name: functest-kubernetes-pi
496     view-type: list
497     columns:
498       - status
499       - weather
500       - job
501       - last-success
502       - last-failure
503       - last-duration
504     regex: ^functest-kubernetes-pi-(arm.*-|amd64-)*[a-z]+-daily$