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