9afca8f4f6bca05df78f147517247f6329b136c0
[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     DASHBOARD_URL: '{DASHBOARD_URL}'
116
117 - builder:
118     name: functest-pi-pull-containers
119     builders:
120       - shell: |
121           set +x
122           if [ "{repo}" = "_" ]; then
123             image={container}:{tag}
124           elif [ "{port}" = "None" ]; then
125             image={repo}/{container}:{tag}
126           else
127             image={repo}:{port}/{container}:{tag}
128           fi
129           sudo docker pull $image
130
131 - builder:
132     name: functest-pi-run-containers
133     builders:
134       - shell: |
135           set +x
136           volumes=;
137           if [ "{volumes}" != "None" ]; then
138             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
139               do volumes="-v $i $volumes"; done
140           fi
141           env=;
142           if [ "{env}" != "None" ]; then
143             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
144               do env="-e $i $env"; done
145           fi
146           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
147           if [ "{repo}" = "_" ]; then
148             image={container}:{tag}
149           elif [ "{port}" = "None" ]; then
150             image={repo}/{container}:{tag}
151           else
152             image={repo}:{port}/{container}:{tag}
153           fi
154           mkdir -p $WORKSPACE/results
155           chown 1000:1000 $WORKSPACE/results
156           sudo docker run --rm \
157             --privileged={privileged} \
158             --network={network} \
159             $volumes \
160             $env \
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:/root/.boto \
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     container: 'functest-healthcheck'
317     test:
318       - connection_check
319       - tenantnetwork1
320       - tenantnetwork2
321       - vmready1
322       - vmready2
323       - singlevm1
324       - singlevm2
325       - vping_ssh
326       - vping_userdata
327       - cinder_test
328       - odl
329       - tempest_smoke
330       - tempest_horizon
331     privileged: 'false'
332     network: bridge
333     jobs:
334       - 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
335
336 - job-template:
337     name: 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
338     parameters:
339       - functest-pi-slave:
340           slave: '{slave}'
341       - functest-pi-build_tag:
342           build_tag: ''
343       - functest-pi-EXTERNAL_NETWORK:
344           EXTERNAL_NETWORK: public
345       - functest-pi-VOLUME_DEVICE_NAME:
346           VOLUME_DEVICE_NAME: sdb
347       - functest-pi-IMAGE_PROPERTIES:
348           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
349     builders:
350       - functest-pi-run-containers:
351           <<: *functest-pi-run-containers
352
353 - project:
354     name: 'functest-pi-ollivier-functest-smoke'
355     <<: *functest-pi-params
356     volumes:
357       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
358       - /home/opnfv/functest/images:/home/opnfv/functest/images
359     env:
360       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
361       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
362       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
363     container: 'functest-smoke'
364     test:
365       - tempest_neutron
366       - tempest_cinder
367       - tempest_keystone
368       - tempest_heat
369       - tempest_telemetry
370       - rally_sanity
371       - refstack_defcore
372       - refstack_compute
373       - refstack_object
374       - refstack_platform
375       - tempest_full
376       - tempest_scenario
377       - tempest_slow
378       - patrole
379       - patrole_admin
380       - patrole_member
381       - patrole_reader
382       - networking-bgpvpn
383       - networking-sfc
384       - tempest_barbican
385       - tempest_octavia
386       - tempest_cyborg
387     privileged: 'false'
388     network: bridge
389     exclude:
390       - tag: latest
391         test: refstack_defcore
392       - tag: latest
393         test: networking-bgpvpn
394       - tag: latest
395         test: networking-sfc
396       - tag: latest
397         test: patrole
398       - tag: xena
399         test: refstack_defcore
400       - tag: xena
401         test: networking-bgpvpn
402       - tag: xena
403         test: networking-sfc
404       - tag: xena
405         test: patrole
406       - tag: wallaby
407         test: refstack_defcore
408       - tag: wallaby
409         test: networking-bgpvpn
410       - tag: wallaby
411         test: networking-sfc
412       - tag: wallaby
413         test: patrole
414       - tag: leguer
415         test: refstack_defcore
416       - tag: leguer
417         test: networking-bgpvpn
418       - tag: leguer
419         test: networking-sfc
420       - tag: leguer
421         test: patrole
422       - tag: kali
423         test: refstack_defcore
424       - tag: kali
425         test: networking-bgpvpn
426       - tag: kali
427         test: networking-sfc
428       - tag: kali
429         test: patrole_admin
430       - tag: kali
431         test: patrole_member
432       - tag: kali
433         test: patrole_reader
434       - tag: jerma
435         test: refstack_defcore
436       - tag: jerma
437         test: networking-bgpvpn
438       - tag: jerma
439         test: networking-sfc
440       - tag: jerma
441         test: patrole_admin
442       - tag: jerma
443         test: patrole_member
444       - tag: jerma
445         test: patrole_reader
446       - tag: jerma
447         test: tempest_cyborg
448       - tag: arm-latest
449         test: refstack_defcore
450       - tag: arm-latest
451         test: networking-bgpvpn
452       - tag: arm-latest
453         test: networking-sfc
454       - tag: arm-latest
455         test: patrole
456       - tag: arm-xena
457         test: refstack_defcore
458       - tag: arm-xena
459         test: networking-bgpvpn
460       - tag: arm-xena
461         test: networking-sfc
462       - tag: arm-xena
463         test: patrole
464       - tag: arm-wallaby
465         test: refstack_defcore
466       - tag: arm-wallaby
467         test: networking-bgpvpn
468       - tag: arm-wallaby
469         test: networking-sfc
470       - tag: arm-wallaby
471         test: patrole
472       - tag: arm-leguer
473         test: refstack_defcore
474       - tag: arm-leguer
475         test: networking-bgpvpn
476       - tag: arm-leguer
477         test: networking-sfc
478       - tag: arm-leguer
479         test: patrole
480       - tag: arm-kali
481         test: refstack_defcore
482       - tag: arm-kali
483         test: networking-bgpvpn
484       - tag: arm-kali
485         test: networking-sfc
486       - tag: arm-kali
487         test: patrole_admin
488       - tag: arm-kali
489         test: patrole_member
490       - tag: arm-kali
491         test: patrole_reader
492       - tag: arm-jerma
493         test: refstack_defcore
494       - tag: arm-jerma
495         test: networking-bgpvpn
496       - tag: arm-jerma
497         test: networking-sfc
498       - tag: arm-jerma
499         test: patrole_admin
500       - tag: arm-jerma
501         test: patrole_member
502       - tag: arm-jerma
503         test: patrole_reader
504       - tag: arm-jerma
505         test: tempest_cyborg
506       - tag: arm64-latest
507         test: refstack_defcore
508       - tag: arm64-latest
509         test: networking-bgpvpn
510       - tag: arm64-latest
511         test: networking-sfc
512       - tag: arm64-latest
513         test: patrole
514       - tag: arm64-xena
515         test: refstack_defcore
516       - tag: arm64-xena
517         test: networking-bgpvpn
518       - tag: arm64-xena
519         test: networking-sfc
520       - tag: arm64-xena
521         test: patrole
522       - tag: arm64-wallaby
523         test: refstack_defcore
524       - tag: arm64-wallaby
525         test: networking-bgpvpn
526       - tag: arm64-wallaby
527         test: networking-sfc
528       - tag: arm64-wallaby
529         test: patrole
530       - tag: arm64-leguer
531         test: refstack_defcore
532       - tag: arm64-leguer
533         test: networking-bgpvpn
534       - tag: arm64-leguer
535         test: networking-sfc
536       - tag: arm64-leguer
537         test: patrole
538       - tag: arm64-kali
539         test: refstack_defcore
540       - tag: arm64-kali
541         test: networking-bgpvpn
542       - tag: arm64-kali
543         test: networking-sfc
544       - tag: arm64-kali
545         test: patrole_admin
546       - tag: arm64-kali
547         test: patrole_member
548       - tag: arm64-kali
549         test: patrole_reader
550       - tag: arm64-jerma
551         test: refstack_defcore
552       - tag: arm64-jerma
553         test: networking-bgpvpn
554       - tag: arm64-jerma
555         test: networking-sfc
556       - tag: arm64-jerma
557         test: patrole_admin
558       - tag: arm64-jerma
559         test: patrole_member
560       - tag: arm64-jerma
561         test: patrole_reader
562       - tag: arm64-jerma
563         test: tempest_cyborg
564     jobs:
565       - 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
566
567 - job-template:
568     name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
569     parameters:
570       - functest-pi-slave:
571           slave: '{slave}'
572       - functest-pi-build_tag:
573           build_tag: ''
574       - functest-pi-EXTERNAL_NETWORK:
575           EXTERNAL_NETWORK: public
576       - functest-pi-VOLUME_DEVICE_NAME:
577           VOLUME_DEVICE_NAME: sdb
578       - functest-pi-IMAGE_PROPERTIES:
579           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
580     builders:
581       - functest-pi-run-containers:
582           <<: *functest-pi-run-containers
583
584 - project:
585     name: 'functest-pi-ollivier-functest-smoke-cntt'
586     <<: *functest-pi-params
587     volumes:
588       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
589       - /home/opnfv/functest/images:/home/opnfv/functest/images
590     env:
591       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
592       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
593       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
594     container: 'functest-smoke-cntt'
595     test:
596       - tempest_neutron_cntt
597       - tempest_cinder_cntt
598       - tempest_keystone_cntt
599       - tempest_heat_cntt
600       - rally_sanity_cntt
601       - tempest_full_cntt
602       - tempest_scenario_cntt
603       - tempest_slow_cntt
604     privileged: 'false'
605     network: bridge
606     jobs:
607       - 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
608
609 - job-template:
610     name: 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
611     parameters:
612       - functest-pi-slave:
613           slave: '{slave}'
614       - functest-pi-build_tag:
615           build_tag: ''
616       - functest-pi-EXTERNAL_NETWORK:
617           EXTERNAL_NETWORK: public
618       - functest-pi-VOLUME_DEVICE_NAME:
619           VOLUME_DEVICE_NAME: sdb
620       - functest-pi-IMAGE_PROPERTIES:
621           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
622     builders:
623       - functest-pi-run-containers:
624           <<: *functest-pi-run-containers
625
626 - project:
627     name: 'functest-pi-ollivier-functest-benchmarking'
628     <<: *functest-pi-params
629     volumes:
630       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
631       - /home/opnfv/functest/images:/home/opnfv/functest/images
632     env:
633       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
634       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
635       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
636     container: 'functest-benchmarking'
637     test:
638       - rally_full
639       - rally_jobs
640       - vmtp
641       - shaker
642     privileged: 'false'
643     network: bridge
644     jobs:
645       - 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
646
647 - job-template:
648     name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
649     parameters:
650       - functest-pi-slave:
651           slave: '{slave}'
652       - functest-pi-build_tag:
653           build_tag: ''
654       - functest-pi-EXTERNAL_NETWORK:
655           EXTERNAL_NETWORK: public
656       - functest-pi-VOLUME_DEVICE_NAME:
657           VOLUME_DEVICE_NAME: sdb
658       - functest-pi-IMAGE_PROPERTIES:
659           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
660     builders:
661       - functest-pi-run-containers:
662           <<: *functest-pi-run-containers
663
664 - project:
665     name: 'functest-pi-ollivier-functest-benchmarking-cntt'
666     <<: *functest-pi-params
667     volumes:
668       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
669       - /home/opnfv/functest/images:/home/opnfv/functest/images
670     env:
671       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
672       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
673       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
674     container: 'functest-benchmarking-cntt'
675     test:
676       - rally_full_cntt
677       - rally_jobs_cntt
678     privileged: 'false'
679     network: bridge
680     jobs:
681       - 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
682
683 - job-template:
684     name: 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
685     parameters:
686       - functest-pi-slave:
687           slave: '{slave}'
688       - functest-pi-build_tag:
689           build_tag: ''
690       - functest-pi-EXTERNAL_NETWORK:
691           EXTERNAL_NETWORK: public
692       - functest-pi-VOLUME_DEVICE_NAME:
693           VOLUME_DEVICE_NAME: sdb
694       - functest-pi-IMAGE_PROPERTIES:
695           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
696     builders:
697       - functest-pi-run-containers:
698           <<: *functest-pi-run-containers
699
700 - project:
701     name: 'functest-pi-ollivier-functest-vnf'
702     <<: *functest-pi-params
703     volumes:
704       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
705       - /home/opnfv/functest/images:/home/opnfv/functest/images
706     env:
707       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
708       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
709       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
710     container: 'functest-vnf'
711     test:
712       - cloudify
713       - cloudify_ims
714       - heat_ims
715       - vyos_vrouter
716       - juju_epc
717     privileged: 'false'
718     network: bridge
719     jobs:
720       - 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
721
722 - builder:
723     name: functest-pi-zip
724     builders:
725       - shell: |
726           set +x
727           volumes=;
728           if [ "{volumes}" != "None" ]; then
729             for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
730               do volumes="-v $i $volumes"; done
731           fi
732           env=;
733           if [ "{env}" != "None" ]; then
734             for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
735               do env="-e $i $env"; done
736           fi
737           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
738           if [ "{repo}" = "_" ]; then
739             image={container}:{tag}
740           elif [ "{port}" = "None" ]; then
741             image={repo}/{container}:{tag}
742           else
743             image={repo}:{port}/{container}:{tag}
744           fi
745           sudo docker run --rm \
746             $volumes \
747             $env \
748             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
749             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
750             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
751             -v /home/opnfv/functest/.boto:/root/.boto \
752             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
753             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
754             -e BUILD_TAG=$BUILD_TAG \
755             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
756             $image zip_campaign
757
758 - job-template:
759     name: 'functest-pi-{tag}-zip'
760     parameters:
761       - functest-pi-slave:
762           slave: '{slave}'
763       - functest-pi-build_tag:
764           build_tag: ''
765       - functest-pi-EXTERNAL_NETWORK:
766           EXTERNAL_NETWORK: public
767       - functest-pi-VOLUME_DEVICE_NAME:
768           VOLUME_DEVICE_NAME: sdb
769       - functest-pi-IMAGE_PROPERTIES:
770           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
771     builders:
772       - functest-pi-zip:
773           <<: *functest-pi-containers
774           volumes: '{volumes}'
775           env: '{env}'
776
777 - project:
778     name: 'functest-pi-{tag}-zip'
779     <<: *functest-pi-params
780     volumes:
781       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
782       - /home/opnfv/functest/images:/home/opnfv/functest/images
783     env:
784       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
785       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
786       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
787     container: 'functest-healthcheck'
788     jobs:
789       - 'functest-pi-{tag}-zip'
790
791 - job-template:
792     name: 'functest-pi-{tag}-daily'
793     project-type: multijob
794     triggers:
795       - timed: '@weekly'
796     parameters:
797       - functest-pi-slave:
798           slave: '{slave}'
799       - functest-pi-build_tag:
800           build_tag: ''
801       - functest-pi-EXTERNAL_NETWORK:
802           EXTERNAL_NETWORK: public
803       - functest-pi-VOLUME_DEVICE_NAME:
804           VOLUME_DEVICE_NAME: sdb
805       - functest-pi-IMAGE_PROPERTIES:
806           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
807     # PyYAML and yamllint differ here
808     # see https://github.com/yaml/pyyaml/issues/234
809     # yamllint disable rule:indentation
810     properties:
811       - build-blocker:
812           blocking-jobs:
813           - ^functest-(pi-)*{tag}-(daily|docker|review)$
814     # yamllint enable rule:indentation
815     builders:
816       - multijob:
817           name: remove former images
818           projects:
819             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-rmi'
820               <<: *functest-pi-jobs
821             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rmi'
822               <<: *functest-pi-jobs
823             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rmi'
824               <<: *functest-pi-jobs
825             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rmi'
826               <<: *functest-pi-jobs
827             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rmi'
828               <<: *functest-pi-jobs
829             - name: 'functest-pi-ollivier-functest-vnf-{tag}-rmi'
830               <<: *functest-pi-jobs
831       - multijob:
832           name: pull containers
833           projects:
834             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-pull'
835               <<: *functest-pi-jobs
836             - name: 'functest-pi-ollivier-functest-smoke-{tag}-pull'
837               <<: *functest-pi-jobs
838             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-pull'
839               <<: *functest-pi-jobs
840             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-pull'
841               <<: *functest-pi-jobs
842             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-pull'
843               <<: *functest-pi-jobs
844             - name: 'functest-pi-ollivier-functest-vnf-{tag}-pull'
845               <<: *functest-pi-jobs
846       - multijob:
847           name: ollivier/functest-healthcheck:{tag}
848           projects:
849             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-connection_check-run'
850               <<: *functest-pi-jobs
851             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork1-run'
852               <<: *functest-pi-jobs
853             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork2-run'
854               <<: *functest-pi-jobs
855             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready1-run'
856               <<: *functest-pi-jobs
857             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready2-run'
858               <<: *functest-pi-jobs
859             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm1-run'
860               <<: *functest-pi-jobs
861             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm2-run'
862               <<: *functest-pi-jobs
863             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_ssh-run'
864               <<: *functest-pi-jobs
865             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_userdata-run'
866               <<: *functest-pi-jobs
867             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-cinder_test-run'
868               <<: *functest-pi-jobs
869             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-odl-run'
870               <<: *functest-pi-jobs
871             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_smoke-run'
872               <<: *functest-pi-jobs
873             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_horizon-run'
874               <<: *functest-pi-jobs
875       - multijob:
876           name: ollivier/functest-smoke:{tag}
877           projects:
878             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_neutron-run'
879               <<: *functest-pi-jobs
880             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cinder-run'
881               <<: *functest-pi-jobs
882             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_keystone-run'
883               <<: *functest-pi-jobs
884             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_heat-run'
885               <<: *functest-pi-jobs
886             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_telemetry-run'
887               <<: *functest-pi-jobs
888             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rally_sanity-run'
889               <<: *functest-pi-jobs
890             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_defcore-run'
891               <<: *functest-pi-jobs
892             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_compute-run'
893               <<: *functest-pi-jobs
894             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_object-run'
895               <<: *functest-pi-jobs
896             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_platform-run'
897               <<: *functest-pi-jobs
898             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_full-run'
899               <<: *functest-pi-jobs
900             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_scenario-run'
901               <<: *functest-pi-jobs
902             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_slow-run'
903               <<: *functest-pi-jobs
904             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole-run'
905               <<: *functest-pi-jobs
906             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_admin-run'
907               <<: *functest-pi-jobs
908             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_member-run'
909               <<: *functest-pi-jobs
910             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_reader-run'
911               <<: *functest-pi-jobs
912             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-bgpvpn-run'
913               <<: *functest-pi-jobs
914             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-sfc-run'
915               <<: *functest-pi-jobs
916             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_barbican-run'
917               <<: *functest-pi-jobs
918             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_octavia-run'
919               <<: *functest-pi-jobs
920             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cyborg-run'
921               <<: *functest-pi-jobs
922       - multijob:
923           name: ollivier/functest-smoke-cntt:{tag}
924           projects:
925             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
926               <<: *functest-pi-jobs
927             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
928               <<: *functest-pi-jobs
929             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
930               <<: *functest-pi-jobs
931             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
932               <<: *functest-pi-jobs
933             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
934               <<: *functest-pi-jobs
935             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
936               <<: *functest-pi-jobs
937             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
938               <<: *functest-pi-jobs
939             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
940               <<: *functest-pi-jobs
941       - multijob:
942           name: ollivier/functest-benchmarking:{tag}
943           projects:
944             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_full-run'
945               <<: *functest-pi-jobs
946             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_jobs-run'
947               <<: *functest-pi-jobs
948             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-vmtp-run'
949               <<: *functest-pi-jobs
950             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-shaker-run'
951               <<: *functest-pi-jobs
952       - multijob:
953           name: ollivier/functest-benchmarking-cntt:{tag}
954           projects:
955             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
956               <<: *functest-pi-jobs
957             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
958               <<: *functest-pi-jobs
959       - multijob:
960           name: ollivier/functest-vnf:{tag}
961           projects:
962             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify-run'
963               <<: *functest-pi-jobs
964             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify_ims-run'
965               <<: *functest-pi-jobs
966             - name: 'functest-pi-ollivier-functest-vnf-{tag}-heat_ims-run'
967               <<: *functest-pi-jobs
968             - name: 'functest-pi-ollivier-functest-vnf-{tag}-vyos_vrouter-run'
969               <<: *functest-pi-jobs
970             - name: 'functest-pi-ollivier-functest-vnf-{tag}-juju_epc-run'
971               <<: *functest-pi-jobs
972       - multijob:
973           name: dump all campaign data
974           projects:
975             - name: 'functest-pi-{tag}-zip'
976               <<: *functest-pi-jobs
977     publishers:
978       - email-ext:
979           failure: false
980           first-failure: true
981           fixed: true
982           recipients: cedric.ollivier@orange.com
983
984 - project:
985     name: 'functest-pi-daily'
986     <<: *functest-pi-params
987     jobs:
988       - 'functest-pi-{tag}-daily'
989
990 - view:
991     name: functest-pi
992     view-type: list
993     columns:
994       - status
995       - weather
996       - job
997       - last-success
998       - last-failure
999       - last-duration
1000     regex: ^functest-pi-[a-z-0-9.]+-daily$