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