6fb2ed86a29c673b31c9e6101730d609298c9b15
[releng.git] / jjb / functest / functest-pi.yaml
1 ---
2 - functest-pi-containers: &functest-pi-containers
3     name: 'functest-pi-containers'
4     repo: '{repo}'
5     port: '{port}'
6     container: '{container}'
7     tag: '{tag}'
8
9 - functest-pi-params: &functest-pi-params
10     name: 'functest-pi-params'
11     repo: 'ollivier'
12     port:
13     tag:
14       - latest:
15           slave: lf-pod4-2
16           DASHBOARD_URL: http://172.30.12.85
17       - xena:
18           slave: laas-xena
19           DASHBOARD_URL: http://10.200.120.76
20       - wallaby:
21           slave: lf-virtual6
22           DASHBOARD_URL: http://172.30.13.91
23       - leguer:
24           slave: lf-virtual9
25           DASHBOARD_URL: http://172.30.13.94
26       - kali:
27           slave: lf-pod4-3
28           DASHBOARD_URL: http://172.30.12.88
29       - jerma:
30           slave: lf-pod4
31           DASHBOARD_URL: http://172.30.12.83
32       - arm-latest:
33           slave: lf-pod4-2
34           DASHBOARD_URL: http://172.30.12.85
35       - xena-latest:
36           slave: laas-xena
37           DASHBOARD_URL: http://10.200.120.76
38       - arm-wallaby:
39           slave: lf-virtual6
40           DASHBOARD_URL: http://172.30.13.91
41       - arm-leguer:
42           slave: lf-virtual9
43           DASHBOARD_URL: http://172.30.13.94
44       - arm-kali:
45           slave: lf-pod4-3
46           DASHBOARD_URL: http://172.30.12.88
47       - arm-jerma:
48           slave: lf-pod4
49           DASHBOARD_URL: http://172.30.12.83
50       - arm64-latest:
51           slave: lf-pod4-2
52           DASHBOARD_URL: http://172.30.12.85
53       - arm64-xena:
54           slave: laas-xena
55           DASHBOARD_URL: http://10.200.120.76
56       - arm64-wallaby:
57           slave: lf-virtual6
58           DASHBOARD_URL: http://172.30.13.91
59       - arm64-leguer:
60           slave: lf-virtual9
61           DASHBOARD_URL: http://172.30.13.94
62       - arm64-kali:
63           slave: lf-pod4-3
64           DASHBOARD_URL: http://172.30.12.88
65       - arm64-jerma:
66           slave: lf-pod4
67           DASHBOARD_URL: http://172.30.12.83
68
69 - functest-pi-jobs: &functest-pi-jobs
70     name: 'functest-pi-jobs'
71     current-parameters: true
72
73 - parameter:
74     name: functest-pi-slave
75     parameters:
76       - label:
77           name: slave
78           default: '{slave}'
79
80 - parameter:
81     name: functest-pi-build_tag
82     parameters:
83       - random-string:
84           name: build_tag
85
86 - parameter:
87     name: functest-pi-EXTERNAL_NETWORK
88     parameters:
89       - string:
90           name: EXTERNAL_NETWORK
91           default: public
92
93 - parameter:
94     name: functest-pi-VOLUME_DEVICE_NAME
95     parameters:
96       - string:
97           name: VOLUME_DEVICE_NAME
98           default: sdb
99
100 - parameter:
101     name: functest-pi-IMAGE_PROPERTIES
102     parameters:
103       - string:
104           name: IMAGE_PROPERTIES
105           default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
106
107 - functest-pi-run-containers: &functest-pi-run-containers
108     name: 'functest-pi-run-containers'
109     <<: *functest-pi-containers
110     test: '{test}'
111     privileged: '{privileged}'
112     volumes: '{volumes}'
113     env: '{env}'
114     network: '{network}'
115     uid: '{uid}'
116     gid: '{gid}'
117     DASHBOARD_URL: '{DASHBOARD_URL}'
118
119 - builder:
120     name: functest-pi-pull-containers
121     builders:
122       - shell: |
123           set +x
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           sudo docker pull $image
132
133 - builder:
134     name: functest-pi-run-containers
135     builders:
136       - shell: |
137           set +x
138           volumes=;
139           if [ "{volumes}" != "None" ]; then
140             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
141               do volumes="-v $i $volumes"; done
142           fi
143           env=;
144           if [ "{env}" != "None" ]; then
145             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
146               do env="-e $i $env"; done
147           fi
148           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
149           if [ "{repo}" = "_" ]; then
150             image={container}:{tag}
151           elif [ "{port}" = "None" ]; then
152             image={repo}/{container}:{tag}
153           else
154             image={repo}:{port}/{container}:{tag}
155           fi
156           sudo mkdir -p $WORKSPACE/results
157           sudo chown {uid}:{gid} $WORKSPACE/results
158           sudo docker run --rm \
159             --privileged={privileged} \
160             --network={network} \
161             $volumes \
162             $env \
163             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
164             -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
165             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
166             -v /home/opnfv/functest/.boto:/etc/boto.cfg \
167             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
168             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
169             -e NODE_NAME=$slave \
170             -e BUILD_TAG=$BUILD_TAG \
171             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
172             -e DASHBOARD_URL={DASHBOARD_URL} \
173             $image run_tests -t {test} -p -r
174
175 - builder:
176     name: functest-pi-remove-images
177     builders:
178       - shell: |
179           set +x
180           if [ "{repo}" = "_" ]; then
181             image={container}:{tag}
182           elif [ "{port}" = "None" ]; then
183             image={repo}/{container}:{tag}
184           else
185             image={repo}:{port}/{container}:{tag}
186           fi
187           sudo docker rmi $image || true
188
189 - job-template:
190     name: 'functest-pi-{repo}-{container}-{tag}-pull'
191     parameters:
192       - functest-pi-slave:
193           slave: '{slave}'
194     builders:
195       - functest-pi-pull-containers:
196           <<: *functest-pi-containers
197
198 - project:
199     name: 'functest-pi-ollivier-functest-healthcheck-pull'
200     <<: *functest-pi-params
201     container: 'functest-healthcheck'
202     jobs:
203       - 'functest-pi-{repo}-{container}-{tag}-pull'
204
205 - project:
206     name: 'functest-pi-ollivier-functest-smoke-pull'
207     <<: *functest-pi-params
208     container: 'functest-smoke'
209     jobs:
210       - 'functest-pi-{repo}-{container}-{tag}-pull'
211
212 - project:
213     name: 'functest-pi-ollivier-functest-smoke-cntt-pull'
214     <<: *functest-pi-params
215     container: 'functest-smoke-cntt'
216     jobs:
217       - 'functest-pi-{repo}-{container}-{tag}-pull'
218
219 - project:
220     name: 'functest-pi-ollivier-functest-benchmarking-pull'
221     <<: *functest-pi-params
222     container: 'functest-benchmarking'
223     jobs:
224       - 'functest-pi-{repo}-{container}-{tag}-pull'
225
226 - project:
227     name: 'functest-pi-ollivier-functest-benchmarking-cntt-pull'
228     <<: *functest-pi-params
229     container: 'functest-benchmarking-cntt'
230     jobs:
231       - 'functest-pi-{repo}-{container}-{tag}-pull'
232
233 - project:
234     name: 'functest-pi-ollivier-functest-vnf-pull'
235     <<: *functest-pi-params
236     container: 'functest-vnf'
237     jobs:
238       - 'functest-pi-{repo}-{container}-{tag}-pull'
239
240 - job-template:
241     name: 'functest-pi-{repo}-{container}-{tag}-rmi'
242     parameters:
243       - functest-pi-slave:
244           slave: '{slave}'
245     builders:
246       - functest-pi-remove-images:
247           <<: *functest-pi-containers
248
249 - project:
250     name: 'functest-pi-ollivier-functest-healthcheck-rmi'
251     <<: *functest-pi-params
252     container: 'functest-healthcheck'
253     jobs:
254       - 'functest-pi-{repo}-{container}-{tag}-rmi'
255
256 - project:
257     name: 'functest-pi-ollivier-functest-smoke-rmi'
258     <<: *functest-pi-params
259     container: 'functest-smoke'
260     jobs:
261       - 'functest-pi-{repo}-{container}-{tag}-rmi'
262
263 - project:
264     name: 'functest-pi-ollivier-functest-smoke-cntt-rmi'
265     <<: *functest-pi-params
266     container: 'functest-smoke-cntt'
267     jobs:
268       - 'functest-pi-{repo}-{container}-{tag}-rmi'
269
270 - project:
271     name: 'functest-pi-ollivier-functest-benchmarking-rmi'
272     <<: *functest-pi-params
273     container: 'functest-benchmarking'
274     jobs:
275       - 'functest-pi-{repo}-{container}-{tag}-rmi'
276
277 - project:
278     name: 'functest-pi-ollivier-functest-benchmarking-cntt-rmi'
279     <<: *functest-pi-params
280     container: 'functest-benchmarking-cntt'
281     jobs:
282       - 'functest-pi-{repo}-{container}-{tag}-rmi'
283
284 - project:
285     name: 'functest-pi-ollivier-functest-vnf-rmi'
286     <<: *functest-pi-params
287     container: 'functest-vnf'
288     jobs:
289       - 'functest-pi-{repo}-{container}-{tag}-rmi'
290
291 - job-template:
292     name: 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
293     parameters:
294       - functest-pi-slave:
295           slave: '{slave}'
296       - functest-pi-build_tag:
297           build_tag: ''
298       - functest-pi-EXTERNAL_NETWORK:
299           EXTERNAL_NETWORK: public
300       - functest-pi-VOLUME_DEVICE_NAME:
301           VOLUME_DEVICE_NAME: sdb
302       - functest-pi-IMAGE_PROPERTIES:
303           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
304     builders:
305       - functest-pi-run-containers:
306           <<: *functest-pi-run-containers
307
308 - project:
309     name: 'functest-pi-ollivier-functest-healthcheck'
310     <<: *functest-pi-params
311     volumes:
312       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
313       - /home/opnfv/functest/images:/home/opnfv/functest/images
314     env:
315       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
316       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
317       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
318     container: 'functest-healthcheck'
319     test:
320       - connection_check
321       - tenantnetwork1
322       - tenantnetwork2
323       - vmready1
324       - vmready2
325       - singlevm1
326       - singlevm2
327       - vping_ssh
328       - vping_userdata
329       - cinder_test
330       - odl
331       - tempest_smoke
332       - tempest_horizon
333     privileged: 'false'
334     network: bridge
335     uid: 1000
336     gid: 1000
337     jobs:
338       - 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
339
340 - job-template:
341     name: 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
342     parameters:
343       - functest-pi-slave:
344           slave: '{slave}'
345       - functest-pi-build_tag:
346           build_tag: ''
347       - functest-pi-EXTERNAL_NETWORK:
348           EXTERNAL_NETWORK: public
349       - functest-pi-VOLUME_DEVICE_NAME:
350           VOLUME_DEVICE_NAME: sdb
351       - functest-pi-IMAGE_PROPERTIES:
352           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
353     builders:
354       - functest-pi-run-containers:
355           <<: *functest-pi-run-containers
356
357 - project:
358     name: 'functest-pi-ollivier-functest-smoke'
359     <<: *functest-pi-params
360     volumes:
361       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
362       - /home/opnfv/functest/images:/home/opnfv/functest/images
363     env:
364       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
365       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
366       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
367     container: 'functest-smoke'
368     test:
369       - tempest_neutron
370       - tempest_cinder
371       - tempest_keystone
372       - tempest_heat
373       - tempest_telemetry
374       - rally_sanity
375       - refstack_defcore
376       - refstack_compute
377       - refstack_object
378       - refstack_platform
379       - tempest_full
380       - tempest_scenario
381       - tempest_slow
382       - patrole
383       - patrole_admin
384       - patrole_member
385       - patrole_reader
386       - networking-bgpvpn
387       - networking-sfc
388       - tempest_barbican
389       - tempest_octavia
390       - tempest_cyborg
391     privileged: 'false'
392     network: bridge
393     uid: 1000
394     gid: 1000
395     exclude:
396       - tag: latest
397         test: refstack_defcore
398       - tag: latest
399         test: networking-bgpvpn
400       - tag: latest
401         test: networking-sfc
402       - tag: latest
403         test: patrole
404       - tag: xena
405         test: refstack_defcore
406       - tag: xena
407         test: networking-bgpvpn
408       - tag: xena
409         test: networking-sfc
410       - tag: xena
411         test: patrole
412       - tag: wallaby
413         test: refstack_defcore
414       - tag: wallaby
415         test: networking-bgpvpn
416       - tag: wallaby
417         test: networking-sfc
418       - tag: wallaby
419         test: patrole
420       - tag: leguer
421         test: refstack_defcore
422       - tag: leguer
423         test: networking-bgpvpn
424       - tag: leguer
425         test: networking-sfc
426       - tag: leguer
427         test: patrole
428       - tag: kali
429         test: refstack_defcore
430       - tag: kali
431         test: networking-bgpvpn
432       - tag: kali
433         test: networking-sfc
434       - tag: kali
435         test: patrole_admin
436       - tag: kali
437         test: patrole_member
438       - tag: kali
439         test: patrole_reader
440       - tag: jerma
441         test: refstack_defcore
442       - tag: jerma
443         test: networking-bgpvpn
444       - tag: jerma
445         test: networking-sfc
446       - tag: jerma
447         test: patrole_admin
448       - tag: jerma
449         test: patrole_member
450       - tag: jerma
451         test: patrole_reader
452       - tag: jerma
453         test: tempest_cyborg
454       - tag: arm-latest
455         test: refstack_defcore
456       - tag: arm-latest
457         test: networking-bgpvpn
458       - tag: arm-latest
459         test: networking-sfc
460       - tag: arm-latest
461         test: patrole
462       - tag: arm-xena
463         test: refstack_defcore
464       - tag: arm-xena
465         test: networking-bgpvpn
466       - tag: arm-xena
467         test: networking-sfc
468       - tag: arm-xena
469         test: patrole
470       - tag: arm-wallaby
471         test: refstack_defcore
472       - tag: arm-wallaby
473         test: networking-bgpvpn
474       - tag: arm-wallaby
475         test: networking-sfc
476       - tag: arm-wallaby
477         test: patrole
478       - tag: arm-leguer
479         test: refstack_defcore
480       - tag: arm-leguer
481         test: networking-bgpvpn
482       - tag: arm-leguer
483         test: networking-sfc
484       - tag: arm-leguer
485         test: patrole
486       - tag: arm-kali
487         test: refstack_defcore
488       - tag: arm-kali
489         test: networking-bgpvpn
490       - tag: arm-kali
491         test: networking-sfc
492       - tag: arm-kali
493         test: patrole_admin
494       - tag: arm-kali
495         test: patrole_member
496       - tag: arm-kali
497         test: patrole_reader
498       - tag: arm-jerma
499         test: refstack_defcore
500       - tag: arm-jerma
501         test: networking-bgpvpn
502       - tag: arm-jerma
503         test: networking-sfc
504       - tag: arm-jerma
505         test: patrole_admin
506       - tag: arm-jerma
507         test: patrole_member
508       - tag: arm-jerma
509         test: patrole_reader
510       - tag: arm-jerma
511         test: tempest_cyborg
512       - tag: arm64-latest
513         test: refstack_defcore
514       - tag: arm64-latest
515         test: networking-bgpvpn
516       - tag: arm64-latest
517         test: networking-sfc
518       - tag: arm64-latest
519         test: patrole
520       - tag: arm64-xena
521         test: refstack_defcore
522       - tag: arm64-xena
523         test: networking-bgpvpn
524       - tag: arm64-xena
525         test: networking-sfc
526       - tag: arm64-xena
527         test: patrole
528       - tag: arm64-wallaby
529         test: refstack_defcore
530       - tag: arm64-wallaby
531         test: networking-bgpvpn
532       - tag: arm64-wallaby
533         test: networking-sfc
534       - tag: arm64-wallaby
535         test: patrole
536       - tag: arm64-leguer
537         test: refstack_defcore
538       - tag: arm64-leguer
539         test: networking-bgpvpn
540       - tag: arm64-leguer
541         test: networking-sfc
542       - tag: arm64-leguer
543         test: patrole
544       - tag: arm64-kali
545         test: refstack_defcore
546       - tag: arm64-kali
547         test: networking-bgpvpn
548       - tag: arm64-kali
549         test: networking-sfc
550       - tag: arm64-kali
551         test: patrole_admin
552       - tag: arm64-kali
553         test: patrole_member
554       - tag: arm64-kali
555         test: patrole_reader
556       - tag: arm64-jerma
557         test: refstack_defcore
558       - tag: arm64-jerma
559         test: networking-bgpvpn
560       - tag: arm64-jerma
561         test: networking-sfc
562       - tag: arm64-jerma
563         test: patrole_admin
564       - tag: arm64-jerma
565         test: patrole_member
566       - tag: arm64-jerma
567         test: patrole_reader
568       - tag: arm64-jerma
569         test: tempest_cyborg
570     jobs:
571       - 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
572
573 - job-template:
574     name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
575     parameters:
576       - functest-pi-slave:
577           slave: '{slave}'
578       - functest-pi-build_tag:
579           build_tag: ''
580       - functest-pi-EXTERNAL_NETWORK:
581           EXTERNAL_NETWORK: public
582       - functest-pi-VOLUME_DEVICE_NAME:
583           VOLUME_DEVICE_NAME: sdb
584       - functest-pi-IMAGE_PROPERTIES:
585           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
586     builders:
587       - functest-pi-run-containers:
588           <<: *functest-pi-run-containers
589
590 - project:
591     name: 'functest-pi-ollivier-functest-smoke-cntt'
592     <<: *functest-pi-params
593     volumes:
594       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
595       - /home/opnfv/functest/images:/home/opnfv/functest/images
596     env:
597       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
598       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
599       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
600     container: 'functest-smoke-cntt'
601     test:
602       - tempest_neutron_cntt
603       - tempest_cinder_cntt
604       - tempest_keystone_cntt
605       - tempest_heat_cntt
606       - rally_sanity_cntt
607       - tempest_full_cntt
608       - tempest_scenario_cntt
609       - tempest_slow_cntt
610     privileged: 'false'
611     network: bridge
612     uid: 1000
613     gid: 1000
614     jobs:
615       - 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
616
617 - job-template:
618     name: 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
619     parameters:
620       - functest-pi-slave:
621           slave: '{slave}'
622       - functest-pi-build_tag:
623           build_tag: ''
624       - functest-pi-EXTERNAL_NETWORK:
625           EXTERNAL_NETWORK: public
626       - functest-pi-VOLUME_DEVICE_NAME:
627           VOLUME_DEVICE_NAME: sdb
628       - functest-pi-IMAGE_PROPERTIES:
629           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
630     builders:
631       - functest-pi-run-containers:
632           <<: *functest-pi-run-containers
633
634 - project:
635     name: 'functest-pi-ollivier-functest-benchmarking'
636     <<: *functest-pi-params
637     volumes:
638       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
639       - /home/opnfv/functest/images:/home/opnfv/functest/images
640     env:
641       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
642       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
643       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
644     container: 'functest-benchmarking'
645     test:
646       - rally_full
647       - rally_jobs
648       - vmtp
649       - shaker
650     privileged: 'false'
651     network: bridge
652     uid: 1000
653     gid: 1000
654     jobs:
655       - 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
656
657 - job-template:
658     name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
659     parameters:
660       - functest-pi-slave:
661           slave: '{slave}'
662       - functest-pi-build_tag:
663           build_tag: ''
664       - functest-pi-EXTERNAL_NETWORK:
665           EXTERNAL_NETWORK: public
666       - functest-pi-VOLUME_DEVICE_NAME:
667           VOLUME_DEVICE_NAME: sdb
668       - functest-pi-IMAGE_PROPERTIES:
669           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
670     builders:
671       - functest-pi-run-containers:
672           <<: *functest-pi-run-containers
673
674 - project:
675     name: 'functest-pi-ollivier-functest-benchmarking-cntt'
676     <<: *functest-pi-params
677     volumes:
678       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
679       - /home/opnfv/functest/images:/home/opnfv/functest/images
680     env:
681       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
682       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
683       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
684     container: 'functest-benchmarking-cntt'
685     test:
686       - rally_full_cntt
687       - rally_jobs_cntt
688     privileged: 'false'
689     network: bridge
690     uid: 1000
691     gid: 1000
692     jobs:
693       - 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
694
695 - job-template:
696     name: 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
697     parameters:
698       - functest-pi-slave:
699           slave: '{slave}'
700       - functest-pi-build_tag:
701           build_tag: ''
702       - functest-pi-EXTERNAL_NETWORK:
703           EXTERNAL_NETWORK: public
704       - functest-pi-VOLUME_DEVICE_NAME:
705           VOLUME_DEVICE_NAME: sdb
706       - functest-pi-IMAGE_PROPERTIES:
707           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
708     builders:
709       - functest-pi-run-containers:
710           <<: *functest-pi-run-containers
711
712 - project:
713     name: 'functest-pi-ollivier-functest-vnf'
714     <<: *functest-pi-params
715     volumes:
716       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
717       - /home/opnfv/functest/images:/home/opnfv/functest/images
718     env:
719       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
720       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
721       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
722     container: 'functest-vnf'
723     test:
724       - cloudify
725       - cloudify_ims
726       - heat_ims
727       - vyos_vrouter
728       - juju_epc
729     privileged: 'false'
730     network: bridge
731     uid: 1000
732     gid: 1000
733     jobs:
734       - 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
735
736 - builder:
737     name: functest-pi-zip
738     builders:
739       - shell: |
740           set +x
741           volumes=;
742           if [ "{volumes}" != "None" ]; then
743             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
744               do volumes="-v $i $volumes"; done
745           fi
746           env=;
747           if [ "{env}" != "None" ]; then
748             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
749               do env="-e $i $env"; done
750           fi
751           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
752           if [ "{repo}" = "_" ]; then
753             image={container}:{tag}
754           elif [ "{port}" = "None" ]; then
755             image={repo}/{container}:{tag}
756           else
757             image={repo}:{port}/{container}:{tag}
758           fi
759           sudo mkdir -p $WORKSPACE/results
760           sudo chown {uid}:{gid} $WORKSPACE/results
761           sudo docker run --rm \
762             $volumes \
763             $env \
764             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
765             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
766             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
767             -v /home/opnfv/functest/.boto:/etc/boto.cfg \
768             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
769             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
770             -e BUILD_TAG=$BUILD_TAG \
771             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
772             $image zip_campaign
773
774 - job-template:
775     name: 'functest-pi-{tag}-zip'
776     parameters:
777       - functest-pi-slave:
778           slave: '{slave}'
779       - functest-pi-build_tag:
780           build_tag: ''
781       - functest-pi-EXTERNAL_NETWORK:
782           EXTERNAL_NETWORK: public
783       - functest-pi-VOLUME_DEVICE_NAME:
784           VOLUME_DEVICE_NAME: sdb
785       - functest-pi-IMAGE_PROPERTIES:
786           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
787     builders:
788       - functest-pi-zip:
789           <<: *functest-pi-containers
790           volumes: '{volumes}'
791           env: '{env}'
792           uid: '{uid}'
793           gid: '{gid}'
794
795 - project:
796     name: 'functest-pi-{tag}-zip'
797     <<: *functest-pi-params
798     volumes:
799       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
800       - /home/opnfv/functest/images:/home/opnfv/functest/images
801     env:
802       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
803       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
804       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
805     container: 'functest-healthcheck'
806     uid: 1000
807     gid: 1000
808     jobs:
809       - 'functest-pi-{tag}-zip'
810
811 - job-template:
812     name: 'functest-pi-{tag}-daily'
813     project-type: multijob
814     triggers:
815       - timed: '@weekly'
816     parameters:
817       - functest-pi-slave:
818           slave: '{slave}'
819       - functest-pi-build_tag:
820           build_tag: ''
821       - functest-pi-EXTERNAL_NETWORK:
822           EXTERNAL_NETWORK: public
823       - functest-pi-VOLUME_DEVICE_NAME:
824           VOLUME_DEVICE_NAME: sdb
825       - functest-pi-IMAGE_PROPERTIES:
826           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
827     # PyYAML and yamllint differ here
828     # see https://github.com/yaml/pyyaml/issues/234
829     # yamllint disable rule:indentation
830     properties:
831       - build-blocker:
832           blocking-jobs:
833           - ^functest-(pi-)*{tag}-(daily|docker|review)$
834     # yamllint enable rule:indentation
835     builders:
836       - multijob:
837           name: remove former images
838           projects:
839             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-rmi'
840               <<: *functest-pi-jobs
841             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rmi'
842               <<: *functest-pi-jobs
843             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rmi'
844               <<: *functest-pi-jobs
845             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rmi'
846               <<: *functest-pi-jobs
847             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rmi'
848               <<: *functest-pi-jobs
849             - name: 'functest-pi-ollivier-functest-vnf-{tag}-rmi'
850               <<: *functest-pi-jobs
851       - multijob:
852           name: pull containers
853           projects:
854             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-pull'
855               <<: *functest-pi-jobs
856             - name: 'functest-pi-ollivier-functest-smoke-{tag}-pull'
857               <<: *functest-pi-jobs
858             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-pull'
859               <<: *functest-pi-jobs
860             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-pull'
861               <<: *functest-pi-jobs
862             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-pull'
863               <<: *functest-pi-jobs
864             - name: 'functest-pi-ollivier-functest-vnf-{tag}-pull'
865               <<: *functest-pi-jobs
866       - multijob:
867           name: ollivier/functest-healthcheck:{tag}
868           projects:
869             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-connection_check-run'
870               <<: *functest-pi-jobs
871             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork1-run'
872               <<: *functest-pi-jobs
873             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork2-run'
874               <<: *functest-pi-jobs
875             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready1-run'
876               <<: *functest-pi-jobs
877             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready2-run'
878               <<: *functest-pi-jobs
879             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm1-run'
880               <<: *functest-pi-jobs
881             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm2-run'
882               <<: *functest-pi-jobs
883             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_ssh-run'
884               <<: *functest-pi-jobs
885             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_userdata-run'
886               <<: *functest-pi-jobs
887             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-cinder_test-run'
888               <<: *functest-pi-jobs
889             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-odl-run'
890               <<: *functest-pi-jobs
891             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_smoke-run'
892               <<: *functest-pi-jobs
893             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_horizon-run'
894               <<: *functest-pi-jobs
895       - multijob:
896           name: ollivier/functest-smoke:{tag}
897           projects:
898             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_neutron-run'
899               <<: *functest-pi-jobs
900             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cinder-run'
901               <<: *functest-pi-jobs
902             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_keystone-run'
903               <<: *functest-pi-jobs
904             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_heat-run'
905               <<: *functest-pi-jobs
906             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_telemetry-run'
907               <<: *functest-pi-jobs
908             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rally_sanity-run'
909               <<: *functest-pi-jobs
910             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_defcore-run'
911               <<: *functest-pi-jobs
912             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_compute-run'
913               <<: *functest-pi-jobs
914             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_object-run'
915               <<: *functest-pi-jobs
916             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_platform-run'
917               <<: *functest-pi-jobs
918             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_full-run'
919               <<: *functest-pi-jobs
920             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_scenario-run'
921               <<: *functest-pi-jobs
922             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_slow-run'
923               <<: *functest-pi-jobs
924             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole-run'
925               <<: *functest-pi-jobs
926             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_admin-run'
927               <<: *functest-pi-jobs
928             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_member-run'
929               <<: *functest-pi-jobs
930             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_reader-run'
931               <<: *functest-pi-jobs
932             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-bgpvpn-run'
933               <<: *functest-pi-jobs
934             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-sfc-run'
935               <<: *functest-pi-jobs
936             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_barbican-run'
937               <<: *functest-pi-jobs
938             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_octavia-run'
939               <<: *functest-pi-jobs
940             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cyborg-run'
941               <<: *functest-pi-jobs
942       - multijob:
943           name: ollivier/functest-smoke-cntt:{tag}
944           projects:
945             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
946               <<: *functest-pi-jobs
947             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
948               <<: *functest-pi-jobs
949             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
950               <<: *functest-pi-jobs
951             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
952               <<: *functest-pi-jobs
953             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
954               <<: *functest-pi-jobs
955             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
956               <<: *functest-pi-jobs
957             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
958               <<: *functest-pi-jobs
959             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
960               <<: *functest-pi-jobs
961       - multijob:
962           name: ollivier/functest-benchmarking:{tag}
963           projects:
964             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_full-run'
965               <<: *functest-pi-jobs
966             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_jobs-run'
967               <<: *functest-pi-jobs
968             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-vmtp-run'
969               <<: *functest-pi-jobs
970             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-shaker-run'
971               <<: *functest-pi-jobs
972       - multijob:
973           name: ollivier/functest-benchmarking-cntt:{tag}
974           projects:
975             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
976               <<: *functest-pi-jobs
977             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
978               <<: *functest-pi-jobs
979       - multijob:
980           name: ollivier/functest-vnf:{tag}
981           projects:
982             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify-run'
983               <<: *functest-pi-jobs
984             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify_ims-run'
985               <<: *functest-pi-jobs
986             - name: 'functest-pi-ollivier-functest-vnf-{tag}-heat_ims-run'
987               <<: *functest-pi-jobs
988             - name: 'functest-pi-ollivier-functest-vnf-{tag}-vyos_vrouter-run'
989               <<: *functest-pi-jobs
990             - name: 'functest-pi-ollivier-functest-vnf-{tag}-juju_epc-run'
991               <<: *functest-pi-jobs
992       - multijob:
993           name: dump all campaign data
994           projects:
995             - name: 'functest-pi-{tag}-zip'
996               <<: *functest-pi-jobs
997     publishers:
998       - email-ext:
999           failure: false
1000           first-failure: true
1001           fixed: true
1002           recipients: cedric.ollivier@orange.com
1003
1004 - project:
1005     name: 'functest-pi-daily'
1006     <<: *functest-pi-params
1007     jobs:
1008       - 'functest-pi-{tag}-daily'
1009
1010 - view:
1011     name: functest-pi
1012     view-type: list
1013     columns:
1014       - status
1015       - weather
1016       - job
1017       - last-success
1018       - last-failure
1019       - last-duration
1020     regex: ^functest-pi-[a-z-0-9.]+-daily$