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