Update Functest jjb for Yoga
[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
16           DASHBOARD_URL: http://172.30.12.83
17       - yoga:
18           slave: lf-pod4-3
19           DASHBOARD_URL: http://172.30.12.88
20       - xena:
21           slave: laas-xena
22           DASHBOARD_URL: http://10.200.120.76
23       - wallaby:
24           slave: lf-virtual6
25           DASHBOARD_URL: http://172.30.13.91
26       - leguer:
27           slave: lf-virtual9
28           DASHBOARD_URL: http://172.30.13.94
29       - arm-latest:
30           slave: lf-pod4
31           DASHBOARD_URL: http://172.30.12.83
32       - arm-yoga:
33           slave: lf-pod4-3
34           DASHBOARD_URL: http://172.30.12.88
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       - arm64-latest:
45           slave: lf-pod4
46           DASHBOARD_URL: http://172.30.12.83
47       - arm64-yoga:
48           slave: lf-pod4-3
49           DASHBOARD_URL: http://172.30.12.88
50       - arm64-xena:
51           slave: laas-xena
52           DASHBOARD_URL: http://10.200.120.76
53       - arm64-wallaby:
54           slave: lf-virtual6
55           DASHBOARD_URL: http://172.30.13.91
56       - arm64-leguer:
57           slave: lf-virtual9
58           DASHBOARD_URL: http://172.30.13.94
59
60 - functest-pi-jobs: &functest-pi-jobs
61     name: 'functest-pi-jobs'
62     current-parameters: true
63
64 - parameter:
65     name: functest-pi-slave
66     parameters:
67       - label:
68           name: slave
69           default: '{slave}'
70
71 - parameter:
72     name: functest-pi-build_tag
73     parameters:
74       - random-string:
75           name: build_tag
76
77 - parameter:
78     name: functest-pi-EXTERNAL_NETWORK
79     parameters:
80       - string:
81           name: EXTERNAL_NETWORK
82           default: public
83
84 - parameter:
85     name: functest-pi-VOLUME_DEVICE_NAME
86     parameters:
87       - string:
88           name: VOLUME_DEVICE_NAME
89           default: sdb
90
91 - parameter:
92     name: functest-pi-IMAGE_PROPERTIES
93     parameters:
94       - string:
95           name: IMAGE_PROPERTIES
96           default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
97
98 - functest-pi-run-containers: &functest-pi-run-containers
99     name: 'functest-pi-run-containers'
100     <<: *functest-pi-containers
101     test: '{test}'
102     privileged: '{privileged}'
103     volumes: '{volumes}'
104     env: '{env}'
105     network: '{network}'
106     uid: '{uid}'
107     gid: '{gid}'
108     published_ports: '{published_ports}'
109     DASHBOARD_URL: '{DASHBOARD_URL}'
110
111 - builder:
112     name: functest-pi-pull-containers
113     builders:
114       - shell: |
115           set +x
116           if [ "{repo}" = "_" ]; then
117             image={container}:{tag}
118           elif [ "{port}" = "None" ]; then
119             image={repo}/{container}:{tag}
120           else
121             image={repo}:{port}/{container}:{tag}
122           fi
123           sudo docker pull $image
124
125 - builder:
126     name: functest-pi-run-containers
127     builders:
128       - shell: |
129           set +x
130           volumes=;
131           if [ "{volumes}" != "None" ]; then
132             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
133               do volumes="-v $i $volumes"; done
134           fi
135           env=;
136           if [ "{env}" != "None" ]; then
137             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
138               do env="-e $i $env"; done
139           fi
140           published_ports=;
141           if [ "{published_ports}" != "None" ]; then
142             for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
143               do published_ports="-p $i $published_ports"; done
144           fi
145           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
146           if [ "{repo}" = "_" ]; then
147             image={container}:{tag}
148           elif [ "{port}" = "None" ]; then
149             image={repo}/{container}:{tag}
150           else
151             image={repo}:{port}/{container}:{tag}
152           fi
153           sudo mkdir -p $WORKSPACE/results
154           sudo chown {uid}:{gid} $WORKSPACE/results
155           sudo docker run --rm \
156             --privileged={privileged} \
157             --network={network} \
158             $volumes \
159             $env \
160             $published_ports \
161             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
162             -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
163             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
164             -v /home/opnfv/functest/.boto:/etc/boto.cfg \
165             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
166             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
167             -e NODE_NAME=$slave \
168             -e BUILD_TAG=$BUILD_TAG \
169             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
170             -e DASHBOARD_URL={DASHBOARD_URL} \
171             $image run_tests -t {test} -p -r
172
173 - builder:
174     name: functest-pi-remove-images
175     builders:
176       - shell: |
177           set +x
178           if [ "{repo}" = "_" ]; then
179             image={container}:{tag}
180           elif [ "{port}" = "None" ]; then
181             image={repo}/{container}:{tag}
182           else
183             image={repo}:{port}/{container}:{tag}
184           fi
185           sudo docker rmi $image || true
186
187 - job-template:
188     name: 'functest-pi-{repo}-{container}-{tag}-pull'
189     parameters:
190       - functest-pi-slave:
191           slave: '{slave}'
192     builders:
193       - functest-pi-pull-containers:
194           <<: *functest-pi-containers
195
196 - project:
197     name: 'functest-pi-ollivier-functest-healthcheck-pull'
198     <<: *functest-pi-params
199     container: 'functest-healthcheck'
200     jobs:
201       - 'functest-pi-{repo}-{container}-{tag}-pull'
202
203 - project:
204     name: 'functest-pi-ollivier-functest-smoke-pull'
205     <<: *functest-pi-params
206     container: 'functest-smoke'
207     jobs:
208       - 'functest-pi-{repo}-{container}-{tag}-pull'
209
210 - project:
211     name: 'functest-pi-ollivier-functest-smoke-cntt-pull'
212     <<: *functest-pi-params
213     container: 'functest-smoke-cntt'
214     jobs:
215       - 'functest-pi-{repo}-{container}-{tag}-pull'
216
217 - project:
218     name: 'functest-pi-ollivier-functest-benchmarking-pull'
219     <<: *functest-pi-params
220     container: 'functest-benchmarking'
221     jobs:
222       - 'functest-pi-{repo}-{container}-{tag}-pull'
223
224 - project:
225     name: 'functest-pi-ollivier-functest-benchmarking-cntt-pull'
226     <<: *functest-pi-params
227     container: 'functest-benchmarking-cntt'
228     jobs:
229       - 'functest-pi-{repo}-{container}-{tag}-pull'
230
231 - project:
232     name: 'functest-pi-ollivier-functest-vnf-pull'
233     <<: *functest-pi-params
234     container: 'functest-vnf'
235     jobs:
236       - 'functest-pi-{repo}-{container}-{tag}-pull'
237
238 - job-template:
239     name: 'functest-pi-{repo}-{container}-{tag}-rmi'
240     parameters:
241       - functest-pi-slave:
242           slave: '{slave}'
243     builders:
244       - functest-pi-remove-images:
245           <<: *functest-pi-containers
246
247 - project:
248     name: 'functest-pi-ollivier-functest-healthcheck-rmi'
249     <<: *functest-pi-params
250     container: 'functest-healthcheck'
251     jobs:
252       - 'functest-pi-{repo}-{container}-{tag}-rmi'
253
254 - project:
255     name: 'functest-pi-ollivier-functest-smoke-rmi'
256     <<: *functest-pi-params
257     container: 'functest-smoke'
258     jobs:
259       - 'functest-pi-{repo}-{container}-{tag}-rmi'
260
261 - project:
262     name: 'functest-pi-ollivier-functest-smoke-cntt-rmi'
263     <<: *functest-pi-params
264     container: 'functest-smoke-cntt'
265     jobs:
266       - 'functest-pi-{repo}-{container}-{tag}-rmi'
267
268 - project:
269     name: 'functest-pi-ollivier-functest-benchmarking-rmi'
270     <<: *functest-pi-params
271     container: 'functest-benchmarking'
272     jobs:
273       - 'functest-pi-{repo}-{container}-{tag}-rmi'
274
275 - project:
276     name: 'functest-pi-ollivier-functest-benchmarking-cntt-rmi'
277     <<: *functest-pi-params
278     container: 'functest-benchmarking-cntt'
279     jobs:
280       - 'functest-pi-{repo}-{container}-{tag}-rmi'
281
282 - project:
283     name: 'functest-pi-ollivier-functest-vnf-rmi'
284     <<: *functest-pi-params
285     container: 'functest-vnf'
286     jobs:
287       - 'functest-pi-{repo}-{container}-{tag}-rmi'
288
289 - job-template:
290     name: 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
291     parameters:
292       - functest-pi-slave:
293           slave: '{slave}'
294       - functest-pi-build_tag:
295           build_tag: ''
296       - functest-pi-EXTERNAL_NETWORK:
297           EXTERNAL_NETWORK: public
298       - functest-pi-VOLUME_DEVICE_NAME:
299           VOLUME_DEVICE_NAME: sdb
300       - functest-pi-IMAGE_PROPERTIES:
301           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
302     builders:
303       - functest-pi-run-containers:
304           <<: *functest-pi-run-containers
305
306 - project:
307     name: 'functest-pi-ollivier-functest-healthcheck'
308     <<: *functest-pi-params
309     volumes:
310       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
311       - /home/opnfv/functest/images:/home/opnfv/functest/images
312     env:
313       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
314       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
315       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
316     published_ports:
317     container: 'functest-healthcheck'
318     test:
319       - connection_check
320       - tenantnetwork1
321       - tenantnetwork2
322       - vmready1
323       - vmready2
324       - singlevm1
325       - singlevm2
326       - vping_ssh
327       - vping_userdata
328       - cinder_test
329       - odl
330       - tempest_smoke
331       - tempest_horizon
332     privileged: 'false'
333     network: bridge
334     uid: 1000
335     gid: 1000
336     jobs:
337       - 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
338
339 - job-template:
340     name: 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
341     parameters:
342       - functest-pi-slave:
343           slave: '{slave}'
344       - functest-pi-build_tag:
345           build_tag: ''
346       - functest-pi-EXTERNAL_NETWORK:
347           EXTERNAL_NETWORK: public
348       - functest-pi-VOLUME_DEVICE_NAME:
349           VOLUME_DEVICE_NAME: sdb
350       - functest-pi-IMAGE_PROPERTIES:
351           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
352     builders:
353       - functest-pi-run-containers:
354           <<: *functest-pi-run-containers
355
356 - project:
357     name: 'functest-pi-ollivier-functest-smoke'
358     <<: *functest-pi-params
359     volumes:
360       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
361       - /home/opnfv/functest/images:/home/opnfv/functest/images
362     env:
363       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
364       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
365       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
366     published_ports:
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     published_ports:
601     container: 'functest-smoke-cntt'
602     test:
603       - tempest_neutron_cntt
604       - tempest_cinder_cntt
605       - tempest_keystone_cntt
606       - tempest_heat_cntt
607       - rally_sanity_cntt
608       - tempest_full_cntt
609       - tempest_scenario_cntt
610       - tempest_slow_cntt
611     privileged: 'false'
612     network: bridge
613     uid: 1000
614     gid: 1000
615     jobs:
616       - 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
617
618 - job-template:
619     name: 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
620     parameters:
621       - functest-pi-slave:
622           slave: '{slave}'
623       - functest-pi-build_tag:
624           build_tag: ''
625       - functest-pi-EXTERNAL_NETWORK:
626           EXTERNAL_NETWORK: public
627       - functest-pi-VOLUME_DEVICE_NAME:
628           VOLUME_DEVICE_NAME: sdb
629       - functest-pi-IMAGE_PROPERTIES:
630           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
631     builders:
632       - functest-pi-run-containers:
633           <<: *functest-pi-run-containers
634
635 - project:
636     name: 'functest-pi-ollivier-functest-benchmarking'
637     <<: *functest-pi-params
638     volumes:
639       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
640       - /home/opnfv/functest/images:/home/opnfv/functest/images
641     env:
642       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
643       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
644       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
645     published_ports:
646     container: 'functest-benchmarking'
647     test:
648       - rally_full
649       - rally_jobs
650       - vmtp
651       - shaker
652     privileged: 'false'
653     network: bridge
654     uid: 1000
655     gid: 1000
656     jobs:
657       - 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
658
659 - job-template:
660     name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
661     parameters:
662       - functest-pi-slave:
663           slave: '{slave}'
664       - functest-pi-build_tag:
665           build_tag: ''
666       - functest-pi-EXTERNAL_NETWORK:
667           EXTERNAL_NETWORK: public
668       - functest-pi-VOLUME_DEVICE_NAME:
669           VOLUME_DEVICE_NAME: sdb
670       - functest-pi-IMAGE_PROPERTIES:
671           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
672     builders:
673       - functest-pi-run-containers:
674           <<: *functest-pi-run-containers
675
676 - project:
677     name: 'functest-pi-ollivier-functest-benchmarking-cntt'
678     <<: *functest-pi-params
679     volumes:
680       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
681       - /home/opnfv/functest/images:/home/opnfv/functest/images
682     env:
683       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
684       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
685       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
686     published_ports:
687     container: 'functest-benchmarking-cntt'
688     test:
689       - rally_full_cntt
690       - rally_jobs_cntt
691     privileged: 'false'
692     network: bridge
693     uid: 1000
694     gid: 1000
695     jobs:
696       - 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
697
698 - job-template:
699     name: 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
700     parameters:
701       - functest-pi-slave:
702           slave: '{slave}'
703       - functest-pi-build_tag:
704           build_tag: ''
705       - functest-pi-EXTERNAL_NETWORK:
706           EXTERNAL_NETWORK: public
707       - functest-pi-VOLUME_DEVICE_NAME:
708           VOLUME_DEVICE_NAME: sdb
709       - functest-pi-IMAGE_PROPERTIES:
710           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
711     builders:
712       - functest-pi-run-containers:
713           <<: *functest-pi-run-containers
714
715 - project:
716     name: 'functest-pi-ollivier-functest-vnf'
717     <<: *functest-pi-params
718     volumes:
719       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
720       - /home/opnfv/functest/images:/home/opnfv/functest/images
721     env:
722       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
723       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
724       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
725     published_ports:
726     container: 'functest-vnf'
727     test:
728       - cloudify
729       - cloudify_ims
730       - heat_ims
731       - vyos_vrouter
732       - juju_epc
733     privileged: 'false'
734     network: bridge
735     uid: 1000
736     gid: 1000
737     jobs:
738       - 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
739
740 - builder:
741     name: functest-pi-zip
742     builders:
743       - shell: |
744           set +x
745           volumes=;
746           if [ "{volumes}" != "None" ]; then
747             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
748               do volumes="-v $i $volumes"; done
749           fi
750           env=;
751           if [ "{env}" != "None" ]; then
752             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
753               do env="-e $i $env"; done
754           fi
755           published_ports=;
756           if [ "{published_ports}" != "None" ]; then
757             for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
758               do published_ports="-p $i $published_ports"; done
759           fi
760           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
761           if [ "{repo}" = "_" ]; then
762             image={container}:{tag}
763           elif [ "{port}" = "None" ]; then
764             image={repo}/{container}:{tag}
765           else
766             image={repo}:{port}/{container}:{tag}
767           fi
768           sudo mkdir -p $WORKSPACE/results
769           sudo chown {uid}:{gid} $WORKSPACE/results
770           sudo docker run --rm \
771             $volumes \
772             $env \
773             $published_ports \
774             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
775             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
776             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
777             -v /home/opnfv/functest/.boto:/etc/boto.cfg \
778             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
779             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
780             -e BUILD_TAG=$BUILD_TAG \
781             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
782             $image zip_campaign
783
784 - job-template:
785     name: 'functest-pi-{tag}-zip'
786     parameters:
787       - functest-pi-slave:
788           slave: '{slave}'
789       - functest-pi-build_tag:
790           build_tag: ''
791       - functest-pi-EXTERNAL_NETWORK:
792           EXTERNAL_NETWORK: public
793       - functest-pi-VOLUME_DEVICE_NAME:
794           VOLUME_DEVICE_NAME: sdb
795       - functest-pi-IMAGE_PROPERTIES:
796           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
797     builders:
798       - functest-pi-zip:
799           <<: *functest-pi-containers
800           volumes: '{volumes}'
801           env: '{env}'
802           uid: '{uid}'
803           gid: '{gid}'
804           published_ports: '{published_ports}'
805
806 - project:
807     name: 'functest-pi-{tag}-zip'
808     <<: *functest-pi-params
809     volumes:
810       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
811       - /home/opnfv/functest/images:/home/opnfv/functest/images
812     env:
813       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
814       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
815       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
816     published_ports:
817     container: 'functest-healthcheck'
818     uid: 1000
819     gid: 1000
820     jobs:
821       - 'functest-pi-{tag}-zip'
822
823 - job-template:
824     name: 'functest-pi-{tag}-daily'
825     project-type: multijob
826     triggers:
827       - timed: '@weekly'
828     parameters:
829       - functest-pi-slave:
830           slave: '{slave}'
831       - functest-pi-build_tag:
832           build_tag: ''
833       - functest-pi-EXTERNAL_NETWORK:
834           EXTERNAL_NETWORK: public
835       - functest-pi-VOLUME_DEVICE_NAME:
836           VOLUME_DEVICE_NAME: sdb
837       - functest-pi-IMAGE_PROPERTIES:
838           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
839     # PyYAML and yamllint differ here
840     # see https://github.com/yaml/pyyaml/issues/234
841     # yamllint disable rule:indentation
842     properties:
843       - build-blocker:
844           blocking-jobs:
845           - ^functest-(pi-)*{tag}-(daily|docker|review)$
846     # yamllint enable rule:indentation
847     builders:
848       - multijob:
849           name: remove former images
850           projects:
851             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-rmi'
852               <<: *functest-pi-jobs
853             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rmi'
854               <<: *functest-pi-jobs
855             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rmi'
856               <<: *functest-pi-jobs
857             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rmi'
858               <<: *functest-pi-jobs
859             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rmi'
860               <<: *functest-pi-jobs
861             - name: 'functest-pi-ollivier-functest-vnf-{tag}-rmi'
862               <<: *functest-pi-jobs
863       - multijob:
864           name: pull containers
865           projects:
866             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-pull'
867               <<: *functest-pi-jobs
868             - name: 'functest-pi-ollivier-functest-smoke-{tag}-pull'
869               <<: *functest-pi-jobs
870             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-pull'
871               <<: *functest-pi-jobs
872             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-pull'
873               <<: *functest-pi-jobs
874             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-pull'
875               <<: *functest-pi-jobs
876             - name: 'functest-pi-ollivier-functest-vnf-{tag}-pull'
877               <<: *functest-pi-jobs
878       - multijob:
879           name: ollivier/functest-healthcheck:{tag}
880           projects:
881             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-connection_check-run'
882               <<: *functest-pi-jobs
883             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork1-run'
884               <<: *functest-pi-jobs
885             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork2-run'
886               <<: *functest-pi-jobs
887             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready1-run'
888               <<: *functest-pi-jobs
889             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready2-run'
890               <<: *functest-pi-jobs
891             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm1-run'
892               <<: *functest-pi-jobs
893             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm2-run'
894               <<: *functest-pi-jobs
895             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_ssh-run'
896               <<: *functest-pi-jobs
897             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_userdata-run'
898               <<: *functest-pi-jobs
899             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-cinder_test-run'
900               <<: *functest-pi-jobs
901             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-odl-run'
902               <<: *functest-pi-jobs
903             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_smoke-run'
904               <<: *functest-pi-jobs
905             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_horizon-run'
906               <<: *functest-pi-jobs
907       - multijob:
908           name: ollivier/functest-smoke:{tag}
909           projects:
910             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_neutron-run'
911               <<: *functest-pi-jobs
912             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cinder-run'
913               <<: *functest-pi-jobs
914             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_keystone-run'
915               <<: *functest-pi-jobs
916             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_heat-run'
917               <<: *functest-pi-jobs
918             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_telemetry-run'
919               <<: *functest-pi-jobs
920             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rally_sanity-run'
921               <<: *functest-pi-jobs
922             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_defcore-run'
923               <<: *functest-pi-jobs
924             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_compute-run'
925               <<: *functest-pi-jobs
926             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_object-run'
927               <<: *functest-pi-jobs
928             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_platform-run'
929               <<: *functest-pi-jobs
930             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_full-run'
931               <<: *functest-pi-jobs
932             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_scenario-run'
933               <<: *functest-pi-jobs
934             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_slow-run'
935               <<: *functest-pi-jobs
936             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole-run'
937               <<: *functest-pi-jobs
938             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_admin-run'
939               <<: *functest-pi-jobs
940             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_member-run'
941               <<: *functest-pi-jobs
942             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_reader-run'
943               <<: *functest-pi-jobs
944             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-bgpvpn-run'
945               <<: *functest-pi-jobs
946             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-sfc-run'
947               <<: *functest-pi-jobs
948             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_barbican-run'
949               <<: *functest-pi-jobs
950             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_octavia-run'
951               <<: *functest-pi-jobs
952             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cyborg-run'
953               <<: *functest-pi-jobs
954       - multijob:
955           name: ollivier/functest-smoke-cntt:{tag}
956           projects:
957             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
958               <<: *functest-pi-jobs
959             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
960               <<: *functest-pi-jobs
961             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
962               <<: *functest-pi-jobs
963             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
964               <<: *functest-pi-jobs
965             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
966               <<: *functest-pi-jobs
967             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
968               <<: *functest-pi-jobs
969             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
970               <<: *functest-pi-jobs
971             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
972               <<: *functest-pi-jobs
973       - multijob:
974           name: ollivier/functest-benchmarking:{tag}
975           projects:
976             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_full-run'
977               <<: *functest-pi-jobs
978             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_jobs-run'
979               <<: *functest-pi-jobs
980             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-vmtp-run'
981               <<: *functest-pi-jobs
982             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-shaker-run'
983               <<: *functest-pi-jobs
984       - multijob:
985           name: ollivier/functest-benchmarking-cntt:{tag}
986           projects:
987             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
988               <<: *functest-pi-jobs
989             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
990               <<: *functest-pi-jobs
991       - multijob:
992           name: ollivier/functest-vnf:{tag}
993           projects:
994             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify-run'
995               <<: *functest-pi-jobs
996             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify_ims-run'
997               <<: *functest-pi-jobs
998             - name: 'functest-pi-ollivier-functest-vnf-{tag}-heat_ims-run'
999               <<: *functest-pi-jobs
1000             - name: 'functest-pi-ollivier-functest-vnf-{tag}-vyos_vrouter-run'
1001               <<: *functest-pi-jobs
1002             - name: 'functest-pi-ollivier-functest-vnf-{tag}-juju_epc-run'
1003               <<: *functest-pi-jobs
1004       - multijob:
1005           name: dump all campaign data
1006           projects:
1007             - name: 'functest-pi-{tag}-zip'
1008               <<: *functest-pi-jobs
1009     publishers:
1010       - email-ext:
1011           failure: false
1012           first-failure: true
1013           fixed: true
1014           recipients: cedric.ollivier@orange.com
1015
1016 - project:
1017     name: 'functest-pi-daily'
1018     <<: *functest-pi-params
1019     jobs:
1020       - 'functest-pi-{tag}-daily'
1021
1022 - view:
1023     name: functest-pi
1024     view-type: list
1025     columns:
1026       - status
1027       - weather
1028       - job
1029       - last-success
1030       - last-failure
1031       - last-duration
1032     regex: ^functest-pi-[a-z-0-9.]+-daily$