Merge "Protect if {volumes} or env is None"
[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=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
691           env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
692           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
693           if [ "{repo}" = "_" ]; then
694             image={container}:{tag}
695           elif [ "{port}" = "None" ]; then
696             image={repo}/{container}:{tag}
697           else
698             image={repo}:{port}/{container}:{tag}
699           fi
700           sudo docker run --rm \
701             $volumes \
702             $env \
703             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
704             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
705             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
706             -v /home/opnfv/functest/.boto:/root/.boto \
707             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
708             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
709             -e BUILD_TAG=$BUILD_TAG \
710             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
711             $image zip_campaign
712
713 - job-template:
714     name: 'functest-pi-{tag}-zip'
715     parameters:
716       - functest-pi-slave:
717           slave: '{slave}'
718       - functest-pi-build_tag:
719           build_tag: ''
720       - functest-pi-EXTERNAL_NETWORK:
721           EXTERNAL_NETWORK: public
722       - functest-pi-VOLUME_DEVICE_NAME:
723           VOLUME_DEVICE_NAME: sdb
724       - functest-pi-IMAGE_PROPERTIES:
725           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
726     builders:
727       - functest-pi-zip:
728           <<: *functest-pi-containers
729           volumes: '{volumes}'
730           env: '{env}'
731
732 - project:
733     name: 'functest-pi-{tag}-zip'
734     <<: *functest-pi-params
735     volumes:
736       - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
737       - /home/opnfv/functest/images:/home/opnfv/functest/images
738     env:
739       - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
740       - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
741       - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
742     container: 'functest-healthcheck'
743     jobs:
744       - 'functest-pi-{tag}-zip'
745
746 - job-template:
747     name: 'functest-pi-{tag}-daily'
748     project-type: multijob
749     triggers:
750       - timed: '@weekly'
751     parameters:
752       - functest-pi-slave:
753           slave: '{slave}'
754       - functest-pi-build_tag:
755           build_tag: ''
756       - functest-pi-EXTERNAL_NETWORK:
757           EXTERNAL_NETWORK: public
758       - functest-pi-VOLUME_DEVICE_NAME:
759           VOLUME_DEVICE_NAME: sdb
760       - functest-pi-IMAGE_PROPERTIES:
761           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
762     # PyYAML and yamllint differ here
763     # see https://github.com/yaml/pyyaml/issues/234
764     # yamllint disable rule:indentation
765     properties:
766       - build-blocker:
767           blocking-jobs:
768           - ^functest-(pi-)*{tag}-(daily|docker|review)$
769     # yamllint enable rule:indentation
770     builders:
771       - multijob:
772           name: remove former images
773           projects:
774             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-rmi'
775               <<: *functest-pi-jobs
776             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rmi'
777               <<: *functest-pi-jobs
778             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rmi'
779               <<: *functest-pi-jobs
780             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rmi'
781               <<: *functest-pi-jobs
782             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rmi'
783               <<: *functest-pi-jobs
784             - name: 'functest-pi-ollivier-functest-vnf-{tag}-rmi'
785               <<: *functest-pi-jobs
786       - multijob:
787           name: pull containers
788           projects:
789             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-pull'
790               <<: *functest-pi-jobs
791             - name: 'functest-pi-ollivier-functest-smoke-{tag}-pull'
792               <<: *functest-pi-jobs
793             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-pull'
794               <<: *functest-pi-jobs
795             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-pull'
796               <<: *functest-pi-jobs
797             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-pull'
798               <<: *functest-pi-jobs
799             - name: 'functest-pi-ollivier-functest-vnf-{tag}-pull'
800               <<: *functest-pi-jobs
801       - multijob:
802           name: ollivier/functest-healthcheck:{tag}
803           projects:
804             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-connection_check-run'
805               <<: *functest-pi-jobs
806             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork1-run'
807               <<: *functest-pi-jobs
808             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork2-run'
809               <<: *functest-pi-jobs
810             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready1-run'
811               <<: *functest-pi-jobs
812             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready2-run'
813               <<: *functest-pi-jobs
814             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm1-run'
815               <<: *functest-pi-jobs
816             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm2-run'
817               <<: *functest-pi-jobs
818             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_ssh-run'
819               <<: *functest-pi-jobs
820             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_userdata-run'
821               <<: *functest-pi-jobs
822             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-cinder_test-run'
823               <<: *functest-pi-jobs
824             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-odl-run'
825               <<: *functest-pi-jobs
826             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_smoke-run'
827               <<: *functest-pi-jobs
828             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_horizon-run'
829               <<: *functest-pi-jobs
830       - multijob:
831           name: ollivier/functest-smoke:{tag}
832           projects:
833             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_neutron-run'
834               <<: *functest-pi-jobs
835             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cinder-run'
836               <<: *functest-pi-jobs
837             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_keystone-run'
838               <<: *functest-pi-jobs
839             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_heat-run'
840               <<: *functest-pi-jobs
841             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_telemetry-run'
842               <<: *functest-pi-jobs
843             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rally_sanity-run'
844               <<: *functest-pi-jobs
845             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_defcore-run'
846               <<: *functest-pi-jobs
847             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_compute-run'
848               <<: *functest-pi-jobs
849             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_object-run'
850               <<: *functest-pi-jobs
851             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_platform-run'
852               <<: *functest-pi-jobs
853             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_full-run'
854               <<: *functest-pi-jobs
855             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_scenario-run'
856               <<: *functest-pi-jobs
857             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_slow-run'
858               <<: *functest-pi-jobs
859             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole-run'
860               <<: *functest-pi-jobs
861             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_admin-run'
862               <<: *functest-pi-jobs
863             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_member-run'
864               <<: *functest-pi-jobs
865             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_reader-run'
866               <<: *functest-pi-jobs
867             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-bgpvpn-run'
868               <<: *functest-pi-jobs
869             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-sfc-run'
870               <<: *functest-pi-jobs
871             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_barbican-run'
872               <<: *functest-pi-jobs
873             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_octavia-run'
874               <<: *functest-pi-jobs
875             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cyborg-run'
876               <<: *functest-pi-jobs
877       - multijob:
878           name: ollivier/functest-smoke-cntt:{tag}
879           projects:
880             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
881               <<: *functest-pi-jobs
882             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
883               <<: *functest-pi-jobs
884             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
885               <<: *functest-pi-jobs
886             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
887               <<: *functest-pi-jobs
888             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
889               <<: *functest-pi-jobs
890             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
891               <<: *functest-pi-jobs
892             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
893               <<: *functest-pi-jobs
894             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
895               <<: *functest-pi-jobs
896       - multijob:
897           name: ollivier/functest-benchmarking:{tag}
898           projects:
899             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_full-run'
900               <<: *functest-pi-jobs
901             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_jobs-run'
902               <<: *functest-pi-jobs
903             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-vmtp-run'
904               <<: *functest-pi-jobs
905             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-shaker-run'
906               <<: *functest-pi-jobs
907       - multijob:
908           name: ollivier/functest-benchmarking-cntt:{tag}
909           projects:
910             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
911               <<: *functest-pi-jobs
912             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
913               <<: *functest-pi-jobs
914       - multijob:
915           name: ollivier/functest-vnf:{tag}
916           projects:
917             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify-run'
918               <<: *functest-pi-jobs
919             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify_ims-run'
920               <<: *functest-pi-jobs
921             - name: 'functest-pi-ollivier-functest-vnf-{tag}-heat_ims-run'
922               <<: *functest-pi-jobs
923             - name: 'functest-pi-ollivier-functest-vnf-{tag}-vyos_vrouter-run'
924               <<: *functest-pi-jobs
925             - name: 'functest-pi-ollivier-functest-vnf-{tag}-juju_epc-run'
926               <<: *functest-pi-jobs
927       - multijob:
928           name: dump all campaign data
929           projects:
930             - name: 'functest-pi-{tag}-zip'
931               <<: *functest-pi-jobs
932
933 - project:
934     name: 'functest-pi-daily'
935     <<: *functest-pi-params
936     jobs:
937       - 'functest-pi-{tag}-daily'
938
939 - view:
940     name: functest-pi
941     view-type: list
942     columns:
943       - status
944       - weather
945       - job
946       - last-success
947       - last-failure
948       - last-duration
949     regex: ^functest-pi-[a-z-0-9.]+-daily$