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