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