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