Merge "Apex: Refactor snapshot pipeline for other types"
[releng.git] / jjb / functest / functest-virtual.yaml
1 ---
2 - functest-defaultparameters: &functest-defaultparameters
3     name: 'functest-defaultparameters'
4     repo: opnfv
5     tag:
6       - gambia
7       - hunter
8       - latest
9
10 - job-template:
11     name: '{repo}-functest-{container}-{tag}-pull'
12     parameters:
13       - functest-virtual-defaults
14     builders:
15       - shell: sudo docker pull {repo}/functest-{container}:{tag}
16
17 - project:
18     name: repo-functest-container-tag-pull
19     <<: *functest-defaultparameters
20     container:
21       - healthcheck
22       - smoke
23       - benchmarking
24       - components
25       - vnf
26       - features
27     jobs:
28       - '{repo}-functest-{container}-{tag}-pull'
29
30 - functest-pulljobs: &functest-pulljobs
31     name: 'functest-pulljobs'
32     projects:
33       - name: '{repo}-functest-healthcheck-{tag}-pull'
34       - name: '{repo}-functest-smoke-{tag}-pull'
35       - name: '{repo}-functest-benchmarking-{tag}-pull'
36       - name: '{repo}-functest-components-{tag}-pull'
37       - name: '{repo}-functest-vnf-{tag}-pull'
38       - name: '{repo}-functest-features-{tag}-pull'
39
40 - functest-buildparameters: &functest-buildparameters
41     name: 'functest-buildparameters'
42     parameters:
43       - functest-virtual-defaults
44       - string:
45           name: branch
46           default: master
47
48 - job-template:
49     name: '{repo}-functest-{container}-{test}-{tag}-run'
50     parameters:
51       - functest-virtual-defaults
52     builders:
53       - shell: |
54           sudo docker run --rm \
55             -e EXTERNAL_NETWORK=public1 \
56             -v /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID:\
57           /home/opnfv/functest/results \
58             -v /home/opnfv/functest/openstack.creds:\
59           /home/opnfv/functest/conf/env_file \
60             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
61             -v /home/opnfv/functest/tempest_blacklist.yaml:\
62           /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/\
63           tempest/custom_tests/blacklist.yaml \
64             -v /home/opnfv/functest/images/rally_blacklist.yaml:\
65           /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/\
66           rally/blacklist.yaml \
67             {repo}/functest-{container}:{tag} run_tests -t {test}
68
69 - project:
70     name: repo-functest-healthcheck-test-tag-run
71     <<: *functest-defaultparameters
72     container: healthcheck
73     test:
74       - connection_check
75       - tenantnetwork1
76       - tenantnetwork2
77       - vmready1
78       - vmready2
79       - singlevm1
80       - singlevm2
81       - vping_ssh
82       - vping_userdata
83       - cinder_test
84       - odl
85       - api_check
86       - snaps_health_check
87     jobs:
88       - '{repo}-functest-{container}-{test}-{tag}-run'
89
90 - functest-healthcheckjobs: &functest-healthcheckjobs
91     name: 'functest-healthcheckjobs'
92     projects:
93       - name: '{repo}-functest-healthcheck-connection_check-{tag}-run'
94       - name: '{repo}-functest-healthcheck-tenantnetwork1-{tag}-run'
95       - name: '{repo}-functest-healthcheck-tenantnetwork2-{tag}-run'
96       - name: '{repo}-functest-healthcheck-vmready1-{tag}-run'
97       - name: '{repo}-functest-healthcheck-vmready2-{tag}-run'
98       - name: '{repo}-functest-healthcheck-singlevm1-{tag}-run'
99       - name: '{repo}-functest-healthcheck-singlevm2-{tag}-run'
100       - name: '{repo}-functest-healthcheck-vping_ssh-{tag}-run'
101       - name: '{repo}-functest-healthcheck-vping_userdata-{tag}-run'
102       - name: '{repo}-functest-healthcheck-cinder_test-{tag}-run'
103       - name: '{repo}-functest-healthcheck-odl-{tag}-run'
104       - name: '{repo}-functest-healthcheck-api_check-{tag}-run'
105       - name: '{repo}-functest-healthcheck-snaps_health_check-{tag}-run'
106
107 - project:
108     name: repo-functest-smoke-test-tag-run
109     <<: *functest-defaultparameters
110     container: smoke
111     test:
112       - tempest_smoke
113       - neutron-tempest-plugin-api
114       - rally_sanity
115       - rally_jobs
116       - refstack_defcore
117       - patrole
118       - snaps_smoke
119       - neutron_trunk
120       - networking-bgpvpn
121       - networking-sfc
122       - barbican
123     jobs:
124       - '{repo}-functest-{container}-{test}-{tag}-run'
125
126 - functest-smokejobs: &functest-smokejobs
127     name: 'functest-smokejobs'
128     projects:
129       - name: '{repo}-functest-smoke-tempest_smoke-{tag}-run'
130       - name: '{repo}-functest-smoke-neutron-tempest-plugin-api-{tag}-run'
131       - name: '{repo}-functest-smoke-rally_sanity-{tag}-run'
132       - name: '{repo}-functest-smoke-rally_jobs-{tag}-run'
133       - name: '{repo}-functest-smoke-refstack_defcore-{tag}-run'
134       - name: '{repo}-functest-smoke-patrole-{tag}-run'
135       - name: '{repo}-functest-smoke-snaps_smoke-{tag}-run'
136       - name: '{repo}-functest-smoke-neutron_trunk-{tag}-run'
137       - name: '{repo}-functest-smoke-networking-bgpvpn-{tag}-run'
138       - name: '{repo}-functest-smoke-networking-sfc-{tag}-run'
139       - name: '{repo}-functest-smoke-barbican-{tag}-run'
140
141 - project:
142     name: repo-functest-benchmarking-test-tag-run'
143     <<: *functest-defaultparameters
144     container: benchmarking
145     test:
146       - vmtp
147       - shaker
148     jobs:
149       - '{repo}-functest-{container}-{test}-{tag}-run'
150
151 - functest-benchmarkingjobs: &functest-benchmarkingjobs
152     name: 'functest-benchmarkingjobs'
153     projects:
154       - name: '{repo}-functest-benchmarking-vmtp-{tag}-run'
155       - name: '{repo}-functest-benchmarking-shaker-{tag}-run'
156
157 - project:
158     name: repo-functest-components-test-tag-run
159     <<: *functest-defaultparameters
160     container: components
161     test:
162       - tempest_full
163       - tempest_scenario
164     jobs:
165       - '{repo}-functest-{container}-{test}-{tag}-run'
166
167 - functest-componentsjobs: &functest-componentsjobs
168     name: 'functest-componentsjobs'
169     projects:
170       - name: '{repo}-functest-components-tempest_full-{tag}-run'
171       - name: '{repo}-functest-components-tempest_scenario-{tag}-run'
172
173 - project:
174     name: repo-functest-vnf-{test}-{tag}-run
175     <<: *functest-defaultparameters
176     container: vnf
177     test:
178       - cloudify
179       - cloudify_ims
180       - heat_ims
181       - vyos_vrouter
182       - juju_epc
183     jobs:
184       - '{repo}-functest-{container}-{test}-{tag}-run'
185
186 - functest-vnfjobs: &functest-vnfjobs
187     name: 'functest-vnfjobs'
188     projects:
189       - name: '{repo}-functest-vnf-cloudify-{tag}-run'
190       - name: '{repo}-functest-vnf-cloudify_ims-{tag}-run'
191       - name: '{repo}-functest-vnf-heat_ims-{tag}-run'
192       - name: '{repo}-functest-vnf-vyos_vrouter-{tag}-run'
193       - name: '{repo}-functest-vnf-juju_epc-{tag}-run'
194
195 - project:
196     name: repo-functest-features-test-tag-run
197     <<: *functest-defaultparameters
198     container: features
199     test:
200       - doctor-notification
201       - bgpvpn
202       - functest-odl-sfc
203       - barometercollectd
204       - vgpu
205       - stor4nfv_os
206     jobs:
207       - '{repo}-functest-{container}-{test}-{tag}-run'
208
209 - functest-featuresjobs: &functest-featuresjobs
210     name: 'functest-featuresjobs'
211     projects:
212       - name: '{repo}-functest-features-doctor-notification-{tag}-run'
213       - name: '{repo}-functest-features-bgpvpn-{tag}-run'
214       - name: '{repo}-functest-features-functest-odl-sfc-{tag}-run'
215       - name: '{repo}-functest-features-barometercollectd-{tag}-run'
216       - name: '{repo}-functest-features-vgpu-{tag}-run'
217       - name: '{repo}-functest-features-stor4nfv_os-{tag}-run'
218
219 - job-template:
220     name: '{repo}-functest-{tag}-daily'
221     <<: *functest-defaultparameters
222     project-type: multijob
223     parameters:
224       - functest-virtual-defaults
225     builders:
226       - multijob:
227           name: pull containers
228           <<: *functest-pulljobs
229       - multijob:
230           name: healthcheck
231           <<: *functest-healthcheckjobs
232       - multijob:
233           name: smoke
234           <<: *functest-smokejobs
235       - multijob:
236           name: benchmarking
237           <<: *functest-benchmarkingjobs
238       - multijob:
239           name: components
240           <<: *functest-componentsjobs
241       - multijob:
242           name: vnf
243           <<: *functest-vnfjobs
244       - multijob:
245           name: features
246           <<: *functest-featuresjobs
247
248 - project:
249     name: repo-functest-tag-daily
250     <<: *functest-defaultparameters
251     jobs:
252       - '{repo}-functest-{tag}-daily'
253
254 - scm:
255     name: functest-gerrit
256     scm:
257       - git:
258           url: https://gerrit.opnfv.org/gerrit/functest
259           refspec: '+refs/changes/*:refs/changes/*'
260           branches:
261             - ${branch}
262
263 - job-template:
264     name: '{repo}-functest-{container}-{tag}-build'
265     <<: *functest-buildparameters
266     scm:
267       - functest-gerrit
268     builders:
269       - shell: |
270           case "{container}" in
271           "components")
272               args="" ;;
273           *)
274               args="--build-arg BRANCH=${{branch}}" ;;
275           esac
276           cd docker/$(echo {container} |cut -d\- -f 2)
277           sudo docker build \
278             ${{args}} --pull=false --no-cache --force-rm=true \
279             -t {repo}/functest-{container}:{tag} .
280
281 - project:
282     name: repo-functest-container-tag-build
283     <<: *functest-defaultparameters
284     container:
285       - core
286       - tempest
287       - healthcheck
288       - smoke
289       - benchmarking
290       - components
291       - vnf
292       - features
293     jobs:
294       - '{repo}-functest-{container}-{tag}-build'
295
296 - functest-projectparameters: &functest-projectparameters
297     name: 'functest-projectparameters'
298     current-parameters: true
299
300 - job-template:
301     name: '{repo}-functest-{tag}-gate'
302     project-type: multijob
303     <<: *functest-buildparameters
304     builders:
305       - multijob:
306           name: build functest-core
307           projects:
308             - name: '{repo}-functest-core-{tag}-build'
309               <<: *functest-projectparameters
310       - multijob:
311           name: build functest-tempest
312           projects:
313             - name: '{repo}-functest-tempest-{tag}-build'
314               <<: *functest-projectparameters
315       - multijob:
316           name: build all remaining contrainers
317           projects:
318             - name: '{repo}-functest-healthcheck-{tag}-build'
319               <<: *functest-projectparameters
320             - name: '{repo}-functest-smoke-{tag}-build'
321               <<: *functest-projectparameters
322             - name: '{repo}-functest-benchmarking-{tag}-build'
323               <<: *functest-projectparameters
324             - name: '{repo}-functest-components-{tag}-build'
325               <<: *functest-projectparameters
326             - name: '{repo}-functest-vnf-{tag}-build'
327               <<: *functest-projectparameters
328             - name: '{repo}-functest-features-{tag}-build'
329               <<: *functest-projectparameters
330       - multijob:
331           name: healthcheck
332           <<: *functest-healthcheckjobs
333       - multijob:
334           name: smoke
335           <<: *functest-smokejobs
336       - multijob:
337           name: benchmarking
338           <<: *functest-benchmarkingjobs
339       - multijob:
340           name: components
341           <<: *functest-componentsjobs
342       - multijob:
343           name: vnf
344           <<: *functest-vnfjobs
345       - multijob:
346           name: features
347           <<: *functest-featuresjobs
348
349 - project:
350     name: repo-functest-tag-gate
351     <<: *functest-defaultparameters
352     jobs:
353       - '{repo}-functest-{tag}-gate'