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