Passing $WORKSPACE to build-image.sh
[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-virtual9
16           DASHBOARD_URL: http://172.30.13.94
17       - leguer:
18           slave: lf-virtual9
19           DASHBOARD_URL: http://172.30.13.94
20       - kali:
21           slave: lf-pod4-3
22           DASHBOARD_URL: http://172.30.12.88
23       - jerma:
24           slave: lf-pod4
25           DASHBOARD_URL: http://172.30.12.83
26       - iruya:
27           slave: lf-virtual4
28           DASHBOARD_URL: http://172.30.13.89
29       - hunter:
30           slave: lf-virtual6
31           DASHBOARD_URL: http://172.30.13.91
32       - arm-latest:
33           slave: lf-virtual9
34           DASHBOARD_URL: http://172.30.13.94
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       - arm-iruya:
45           slave: lf-virtual4
46           DASHBOARD_URL: http://172.30.13.89
47       - arm-hunter:
48           slave: lf-virtual6
49           DASHBOARD_URL: http://172.30.13.91
50       - arm64-latest:
51           slave: lf-virtual9
52           DASHBOARD_URL: http://172.30.13.94
53       - arm64-leguer:
54           slave: lf-virtual9
55           DASHBOARD_URL: http://172.30.13.94
56       - arm64-kali:
57           slave: lf-pod4-3
58           DASHBOARD_URL: http://172.30.12.88
59       - arm64-jerma:
60           slave: lf-pod4
61           DASHBOARD_URL: http://172.30.12.83
62       - arm64-iruya:
63           slave: lf-virtual4
64           DASHBOARD_URL: http://172.30.13.89
65       - arm64-hunter:
66           slave: lf-virtual6
67           DASHBOARD_URL: http://172.30.13.91
68
69 - functest-pi-jobs: &functest-pi-jobs
70     name: 'functest-pi-jobs'
71     current-parameters: true
72
73 - parameter:
74     name: functest-pi-slave
75     parameters:
76       - label:
77           name: slave
78           default: '{slave}'
79
80 - parameter:
81     name: functest-pi-build_tag
82     parameters:
83       - random-string:
84           name: build_tag
85
86 - parameter:
87     name: functest-pi-EXTERNAL_NETWORK
88     parameters:
89       - string:
90           name: EXTERNAL_NETWORK
91           default: public
92 - parameter:
93     name: functest-pi-VOLUME_DEVICE_NAME
94     parameters:
95       - string:
96           name: VOLUME_DEVICE_NAME
97           default: sdb
98 - parameter:
99     name: functest-pi-IMAGE_PROPERTIES
100     parameters:
101       - string:
102           name: IMAGE_PROPERTIES
103           default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
104
105 - functest-pi-run-containers: &functest-pi-run-containers
106     name: 'functest-pi-run-containers'
107     <<: *functest-pi-containers
108     test: '{test}'
109     privileged: '{privileged}'
110     network: '{network}'
111     DASHBOARD_URL: '{DASHBOARD_URL}'
112
113 - builder:
114     name: functest-pi-pull-containers
115     builders:
116       - shell: |
117           set +x
118           if [ "{repo}" = "_" ]; then
119             image={container}:{tag}
120           elif [ "{port}" = "None" ]; then
121             image={repo}/{container}:{tag}
122           else
123             image={repo}:{port}/{container}:{tag}
124           fi
125           sudo docker pull $image
126
127 - builder:
128     name: functest-pi-run-containers
129     builders:
130       - shell: |
131           set +x
132           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
133           if [ "{repo}" = "_" ]; then
134             image={container}:{tag}
135           elif [ "{port}" = "None" ]; then
136             image={repo}/{container}:{tag}
137           else
138             image={repo}:{port}/{container}:{tag}
139           fi
140           sudo docker run --rm \
141             --privileged={privileged} \
142             --network={network} \
143             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
144             -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
145             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
146             -v /home/opnfv/functest/.boto:/root/.boto \
147             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
148             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
149             -e NODE_NAME=$slave \
150             -e BUILD_TAG=$BUILD_TAG \
151             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
152             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
153             -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
154             -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
155             -e DASHBOARD_URL={DASHBOARD_URL} \
156             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
157             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
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-{repo}-{container}-{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     container: 'functest-healthcheck'
297     test:
298       - connection_check
299       - tenantnetwork1
300       - tenantnetwork2
301       - vmready1
302       - vmready2
303       - singlevm1
304       - singlevm2
305       - vping_ssh
306       - vping_userdata
307       - cinder_test
308       - odl
309       - tempest_smoke
310       - tempest_horizon
311     privileged: 'false'
312     network: bridge
313     jobs:
314       - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
315
316 - project:
317     name: 'functest-pi-ollivier-functest-smoke'
318     <<: *functest-pi-params
319     container: 'functest-smoke'
320     test:
321       - tempest_neutron
322       - tempest_cinder
323       - tempest_keystone
324       - tempest_heat
325       - tempest_telemetry
326       - rally_sanity
327       - refstack_defcore
328       - refstack_compute
329       - refstack_object
330       - refstack_platform
331       - tempest_full
332       - tempest_scenario
333       - tempest_slow
334       - patrole
335       - patrole_admin
336       - patrole_member
337       - patrole_reader
338       - networking-bgpvpn
339       - networking-sfc
340       - tempest_barbican
341       - tempest_octavia
342       - tempest_cyborg
343     privileged: 'false'
344     network: bridge
345     exclude:
346       - {'tag': 'latest', 'test': 'refstack_defcore'}
347       - {'tag': 'latest', 'test': 'networking-bgpvpn'}
348       - {'tag': 'latest', 'test': 'networking-sfc'}
349       - {'tag': 'latest', 'test': 'patrole'}
350       - {'tag': 'leguer', 'test': 'refstack_defcore'}
351       - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
352       - {'tag': 'leguer', 'test': 'networking-sfc'}
353       - {'tag': 'leguer', 'test': 'patrole'}
354       - {'tag': 'kali', 'test': 'refstack_defcore'}
355       - {'tag': 'kali', 'test': 'networking-bgpvpn'}
356       - {'tag': 'kali', 'test': 'networking-sfc'}
357       - {'tag': 'kali', 'test': 'patrole_admin'}
358       - {'tag': 'kali', 'test': 'patrole_member'}
359       - {'tag': 'kali', 'test': 'patrole_reader'}
360       - {'tag': 'jerma', 'test': 'refstack_defcore'}
361       - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
362       - {'tag': 'jerma', 'test': 'networking-sfc'}
363       - {'tag': 'jerma', 'test': 'patrole_admin'}
364       - {'tag': 'jerma', 'test': 'patrole_member'}
365       - {'tag': 'jerma', 'test': 'patrole_reader'}
366       - {'tag': 'jerma', 'test': 'tempest_cyborg'}
367       - {'tag': 'iruya', 'test': 'refstack_defcore'}
368       - {'tag': 'iruya', 'test': 'patrole_admin'}
369       - {'tag': 'iruya', 'test': 'patrole_member'}
370       - {'tag': 'iruya', 'test': 'patrole_reader'}
371       - {'tag': 'iruya', 'test': 'tempest_cyborg'}
372       - {'tag': 'hunter', 'test': 'refstack_compute'}
373       - {'tag': 'hunter', 'test': 'refstack_object'}
374       - {'tag': 'hunter', 'test': 'refstack_platform'}
375       - {'tag': 'hunter', 'test': 'tempest_octavia'}
376       - {'tag': 'hunter', 'test': 'tempest_telemetry'}
377       - {'tag': 'hunter', 'test': 'patrole_admin'}
378       - {'tag': 'hunter', 'test': 'patrole_member'}
379       - {'tag': 'hunter', 'test': 'patrole_reader'}
380       - {'tag': 'hunter', 'test': 'tempest_cyborg'}
381       - {'tag': 'arm-latest', 'test': 'refstack_defcore'}
382       - {'tag': 'arm-latest', 'test': 'networking-bgpvpn'}
383       - {'tag': 'arm-latest', 'test': 'networking-sfc'}
384       - {'tag': 'arm-latest', 'test': 'patrole'}
385       - {'tag': 'arm-leguer', 'test': 'refstack_defcore'}
386       - {'tag': 'arm-leguer', 'test': 'networking-bgpvpn'}
387       - {'tag': 'arm-leguer', 'test': 'networking-sfc'}
388       - {'tag': 'arm-leguer', 'test': 'patrole'}
389       - {'tag': 'arm-kali', 'test': 'refstack_defcore'}
390       - {'tag': 'arm-kali', 'test': 'networking-bgpvpn'}
391       - {'tag': 'arm-kali', 'test': 'networking-sfc'}
392       - {'tag': 'arm-kali', 'test': 'patrole_admin'}
393       - {'tag': 'arm-kali', 'test': 'patrole_member'}
394       - {'tag': 'arm-kali', 'test': 'patrole_reader'}
395       - {'tag': 'arm-jerma', 'test': 'refstack_defcore'}
396       - {'tag': 'arm-jerma', 'test': 'networking-bgpvpn'}
397       - {'tag': 'arm-jerma', 'test': 'networking-sfc'}
398       - {'tag': 'arm-jerma', 'test': 'patrole_admin'}
399       - {'tag': 'arm-jerma', 'test': 'patrole_member'}
400       - {'tag': 'arm-jerma', 'test': 'patrole_reader'}
401       - {'tag': 'arm-jerma', 'test': 'tempest_cyborg'}
402       - {'tag': 'arm-iruya', 'test': 'refstack_defcore'}
403       - {'tag': 'arm-iruya', 'test': 'patrole_admin'}
404       - {'tag': 'arm-iruya', 'test': 'patrole_member'}
405       - {'tag': 'arm-iruya', 'test': 'patrole_reader'}
406       - {'tag': 'arm-iruya', 'test': 'tempest_cyborg'}
407       - {'tag': 'arm-hunter', 'test': 'refstack_compute'}
408       - {'tag': 'arm-hunter', 'test': 'refstack_object'}
409       - {'tag': 'arm-hunter', 'test': 'refstack_platform'}
410       - {'tag': 'arm-hunter', 'test': 'tempest_octavia'}
411       - {'tag': 'arm-hunter', 'test': 'tempest_telemetry'}
412       - {'tag': 'arm-hunter', 'test': 'patrole_admin'}
413       - {'tag': 'arm-hunter', 'test': 'patrole_member'}
414       - {'tag': 'arm-hunter', 'test': 'patrole_reader'}
415       - {'tag': 'arm-hunter', 'test': 'tempest_cyborg'}
416       - {'tag': 'arm64-latest', 'test': 'refstack_defcore'}
417       - {'tag': 'arm64-latest', 'test': 'networking-bgpvpn'}
418       - {'tag': 'arm64-latest', 'test': 'networking-sfc'}
419       - {'tag': 'arm64-latest', 'test': 'patrole'}
420       - {'tag': 'arm64-leguer', 'test': 'refstack_defcore'}
421       - {'tag': 'arm64-leguer', 'test': 'networking-bgpvpn'}
422       - {'tag': 'arm64-leguer', 'test': 'networking-sfc'}
423       - {'tag': 'arm64-leguer', 'test': 'patrole'}
424       - {'tag': 'arm64-kali', 'test': 'refstack_defcore'}
425       - {'tag': 'arm64-kali', 'test': 'networking-bgpvpn'}
426       - {'tag': 'arm64-kali', 'test': 'networking-sfc'}
427       - {'tag': 'arm64-kali', 'test': 'patrole_admin'}
428       - {'tag': 'arm64-kali', 'test': 'patrole_member'}
429       - {'tag': 'arm64-kali', 'test': 'patrole_reader'}
430       - {'tag': 'arm64-jerma', 'test': 'refstack_defcore'}
431       - {'tag': 'arm64-jerma', 'test': 'networking-bgpvpn'}
432       - {'tag': 'arm64-jerma', 'test': 'networking-sfc'}
433       - {'tag': 'arm64-jerma', 'test': 'patrole_admin'}
434       - {'tag': 'arm64-jerma', 'test': 'patrole_member'}
435       - {'tag': 'arm64-jerma', 'test': 'patrole_reader'}
436       - {'tag': 'arm64-jerma', 'test': 'tempest_cyborg'}
437       - {'tag': 'arm64-iruya', 'test': 'refstack_defcore'}
438       - {'tag': 'arm64-iruya', 'test': 'patrole_admin'}
439       - {'tag': 'arm64-iruya', 'test': 'patrole_member'}
440       - {'tag': 'arm64-iruya', 'test': 'patrole_reader'}
441       - {'tag': 'arm64-iruya', 'test': 'tempest_cyborg'}
442       - {'tag': 'arm64-hunter', 'test': 'refstack_compute'}
443       - {'tag': 'arm64-hunter', 'test': 'refstack_object'}
444       - {'tag': 'arm64-hunter', 'test': 'refstack_platform'}
445       - {'tag': 'arm64-hunter', 'test': 'tempest_octavia'}
446       - {'tag': 'arm64-hunter', 'test': 'tempest_telemetry'}
447       - {'tag': 'arm64-hunter', 'test': 'patrole_admin'}
448       - {'tag': 'arm64-hunter', 'test': 'patrole_member'}
449       - {'tag': 'arm64-hunter', 'test': 'patrole_reader'}
450       - {'tag': 'arm64-hunter', 'test': 'tempest_cyborg'}
451     jobs:
452       - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
453
454 - project:
455     name: 'functest-pi-ollivier-functest-smoke-cntt'
456     <<: *functest-pi-params
457     container: 'functest-smoke-cntt'
458     test:
459       - tempest_neutron_cntt
460       - tempest_cinder_cntt
461       - tempest_keystone_cntt
462       - tempest_heat_cntt
463       - rally_sanity_cntt
464       - tempest_full_cntt
465       - tempest_scenario_cntt
466       - tempest_slow_cntt
467     privileged: 'false'
468     network: bridge
469     jobs:
470       - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
471
472 - project:
473     name: 'functest-pi-ollivier-functest-benchmarking'
474     <<: *functest-pi-params
475     container: 'functest-benchmarking'
476     test:
477       - rally_full
478       - rally_jobs
479       - vmtp
480       - shaker
481     privileged: 'false'
482     network: bridge
483     jobs:
484       - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
485
486 - project:
487     name: 'functest-pi-ollivier-functest-benchmarking-cntt'
488     <<: *functest-pi-params
489     container: 'functest-benchmarking-cntt'
490     test:
491       - rally_full_cntt
492       - rally_jobs_cntt
493     privileged: 'false'
494     network: bridge
495     jobs:
496       - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
497
498 - project:
499     name: 'functest-pi-ollivier-functest-vnf'
500     <<: *functest-pi-params
501     container: 'functest-vnf'
502     test:
503       - cloudify
504       - cloudify_ims
505       - heat_ims
506       - vyos_vrouter
507       - juju_epc
508     privileged: 'false'
509     network: bridge
510     jobs:
511       - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
512
513
514 - builder:
515     name: functest-pi-zip
516     builders:
517       - shell: |
518           set +x
519           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
520           if [ "{repo}" = "_" ]; then
521             image={container}:{tag}
522           elif [ "{port}" = "None" ]; then
523             image={repo}/{container}:{tag}
524           else
525             image={repo}:{port}/{container}:{tag}
526           fi
527           sudo docker run --rm \
528             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
529             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
530             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
531             -v /home/opnfv/functest/.boto:/root/.boto \
532             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
533             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
534             -e BUILD_TAG=$BUILD_TAG \
535             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
536             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
537             -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
538             -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
539             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
540             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
541             $image zip_campaign
542
543 - job-template:
544     name: 'functest-pi-{tag}-zip'
545     parameters:
546       - functest-pi-slave:
547           slave: '{slave}'
548       - functest-pi-build_tag:
549           build_tag: ''
550       - functest-pi-EXTERNAL_NETWORK:
551           EXTERNAL_NETWORK: public
552       - functest-pi-VOLUME_DEVICE_NAME:
553           VOLUME_DEVICE_NAME: sdb
554       - functest-pi-IMAGE_PROPERTIES:
555           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
556     builders:
557       - functest-pi-zip:
558           <<: *functest-pi-containers
559
560 - project:
561     name: 'functest-pi-{tag}-zip'
562     <<: *functest-pi-params
563     container: 'functest-healthcheck'
564     jobs:
565       - 'functest-pi-{tag}-zip'
566
567 - job-template:
568     name: 'functest-pi-{tag}-daily'
569     project-type: multijob
570     triggers:
571       - timed: '@weekly'
572     parameters:
573       - functest-pi-slave:
574           slave: '{slave}'
575       - functest-pi-build_tag:
576           build_tag: ''
577       - functest-pi-EXTERNAL_NETWORK:
578           EXTERNAL_NETWORK: public
579       - functest-pi-VOLUME_DEVICE_NAME:
580           VOLUME_DEVICE_NAME: sdb
581       - functest-pi-IMAGE_PROPERTIES:
582           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
583     properties:
584       - build-blocker:
585           use-build-blocker: true
586           blocking-level: 'NODE'
587           blocking-jobs:
588             - '^functest-pi-{tag}-(daily|docker|review)$'
589     builders:
590       - multijob:
591           name: remove former images
592           projects:
593             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-rmi'
594               <<: *functest-pi-jobs
595             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rmi'
596               <<: *functest-pi-jobs
597             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rmi'
598               <<: *functest-pi-jobs
599             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rmi'
600               <<: *functest-pi-jobs
601             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rmi'
602               <<: *functest-pi-jobs
603             - name: 'functest-pi-ollivier-functest-vnf-{tag}-rmi'
604               <<: *functest-pi-jobs
605       - multijob:
606           name: pull containers
607           projects:
608             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-pull'
609               <<: *functest-pi-jobs
610             - name: 'functest-pi-ollivier-functest-smoke-{tag}-pull'
611               <<: *functest-pi-jobs
612             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-pull'
613               <<: *functest-pi-jobs
614             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-pull'
615               <<: *functest-pi-jobs
616             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-pull'
617               <<: *functest-pi-jobs
618             - name: 'functest-pi-ollivier-functest-vnf-{tag}-pull'
619               <<: *functest-pi-jobs
620       - multijob:
621           name: ollivier/functest-healthcheck:{tag}
622           projects:
623             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-connection_check-run'
624               <<: *functest-pi-jobs
625             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork1-run'
626               <<: *functest-pi-jobs
627             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork2-run'
628               <<: *functest-pi-jobs
629             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready1-run'
630               <<: *functest-pi-jobs
631             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready2-run'
632               <<: *functest-pi-jobs
633             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm1-run'
634               <<: *functest-pi-jobs
635             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm2-run'
636               <<: *functest-pi-jobs
637             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_ssh-run'
638               <<: *functest-pi-jobs
639             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_userdata-run'
640               <<: *functest-pi-jobs
641             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-cinder_test-run'
642               <<: *functest-pi-jobs
643             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-odl-run'
644               <<: *functest-pi-jobs
645             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_smoke-run'
646               <<: *functest-pi-jobs
647             - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_horizon-run'
648               <<: *functest-pi-jobs
649       - multijob:
650           name: ollivier/functest-smoke:{tag}
651           projects:
652             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_neutron-run'
653               <<: *functest-pi-jobs
654             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cinder-run'
655               <<: *functest-pi-jobs
656             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_keystone-run'
657               <<: *functest-pi-jobs
658             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_heat-run'
659               <<: *functest-pi-jobs
660             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_telemetry-run'
661               <<: *functest-pi-jobs
662             - name: 'functest-pi-ollivier-functest-smoke-{tag}-rally_sanity-run'
663               <<: *functest-pi-jobs
664             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_defcore-run'
665               <<: *functest-pi-jobs
666             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_compute-run'
667               <<: *functest-pi-jobs
668             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_object-run'
669               <<: *functest-pi-jobs
670             - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_platform-run'
671               <<: *functest-pi-jobs
672             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_full-run'
673               <<: *functest-pi-jobs
674             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_scenario-run'
675               <<: *functest-pi-jobs
676             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_slow-run'
677               <<: *functest-pi-jobs
678             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole-run'
679               <<: *functest-pi-jobs
680             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_admin-run'
681               <<: *functest-pi-jobs
682             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_member-run'
683               <<: *functest-pi-jobs
684             - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_reader-run'
685               <<: *functest-pi-jobs
686             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-bgpvpn-run'
687               <<: *functest-pi-jobs
688             - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-sfc-run'
689               <<: *functest-pi-jobs
690             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_barbican-run'
691               <<: *functest-pi-jobs
692             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_octavia-run'
693               <<: *functest-pi-jobs
694             - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cyborg-run'
695               <<: *functest-pi-jobs
696       - multijob:
697           name: ollivier/functest-smoke-cntt:{tag}
698           projects:
699             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
700               <<: *functest-pi-jobs
701             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
702               <<: *functest-pi-jobs
703             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
704               <<: *functest-pi-jobs
705             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
706               <<: *functest-pi-jobs
707             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
708               <<: *functest-pi-jobs
709             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
710               <<: *functest-pi-jobs
711             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
712               <<: *functest-pi-jobs
713             - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
714               <<: *functest-pi-jobs
715       - multijob:
716           name: ollivier/functest-benchmarking:{tag}
717           projects:
718             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_full-run'
719               <<: *functest-pi-jobs
720             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_jobs-run'
721               <<: *functest-pi-jobs
722             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-vmtp-run'
723               <<: *functest-pi-jobs
724             - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-shaker-run'
725               <<: *functest-pi-jobs
726       - multijob:
727           name: ollivier/functest-benchmarking-cntt:{tag}
728           projects:
729             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
730               <<: *functest-pi-jobs
731             - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
732               <<: *functest-pi-jobs
733       - multijob:
734           name: ollivier/functest-vnf:{tag}
735           projects:
736             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify-run'
737               <<: *functest-pi-jobs
738             - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify_ims-run'
739               <<: *functest-pi-jobs
740             - name: 'functest-pi-ollivier-functest-vnf-{tag}-heat_ims-run'
741               <<: *functest-pi-jobs
742             - name: 'functest-pi-ollivier-functest-vnf-{tag}-vyos_vrouter-run'
743               <<: *functest-pi-jobs
744             - name: 'functest-pi-ollivier-functest-vnf-{tag}-juju_epc-run'
745               <<: *functest-pi-jobs
746       - multijob:
747           name: dump all campaign data
748           projects:
749             - name: 'functest-pi-{tag}-zip'
750               <<: *functest-pi-jobs
751
752 - project:
753     name: 'functest-pi-daily'
754     <<: *functest-pi-params
755     jobs:
756       - 'functest-pi-{tag}-daily'
757
758 - view:
759     name: functest-pi
760     view-type: list
761     columns:
762       - status
763       - weather
764       - job
765       - last-success
766       - last-failure
767       - last-duration
768     regex: ^functest-pi-[a-z-0-9.]+-daily$