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