Revert "Revert "Removing OpenNebula code""
[osm/RO.git] / tox.ini
1 #######################################################################################
2 # Copyright ETSI Contributors and Others.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13 # implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #######################################################################################
17
18 [tox]
19 envlist = black, flake8, safety
20
21 [tox:jenkins]
22 toxworkdir = /tmp/.tox
23
24 [testenv]
25 usedevelop = True
26 basepython = python3
27 setenv = VIRTUAL_ENV={envdir}
28 PYTHONDONTWRITEBYTECODE = 1
29 deps = -r{toxinidir}/requirements.txt
30 parallel_show_output = true
31
32
33 #######################################################################################
34 [testenv:release_notes]
35 deps = reno
36 skip_install = true
37 commands =
38 reno new {posargs:new_feature}
39
40
41 #######################################################################################
42 [testenv:black]
43 deps = black
44 skip_install = true
45 commands =
46 black --check --diff NG-RO
47 black --check --diff RO-plugin
48 black --check --diff RO-SDN-arista_cloudvision
49 black --check --diff RO-SDN-dpb
50 black --check --diff RO-SDN-dynpac
51 black --check --diff RO-SDN-floodlight_openflow
52 black --check --diff RO-SDN-ietfl2vpn
53 black --check --diff RO-SDN-juniper_contrail
54 black --check --diff RO-SDN-odl_openflow
55 black --check --diff RO-SDN-onos_openflow
56 black --check --diff RO-SDN-onos_vpls
57 black --check --diff RO-VIM-aws
58 black --check --diff RO-VIM-azure
59 black --check --diff RO-VIM-fos
60 black --check --diff RO-VIM-openstack
61 black --check --diff RO-VIM-openvim
62 black --check --diff RO-VIM-vmware
63 black --check --diff RO-VIM-gcp
64 black --check --diff integration-tests
65
66
67 #######################################################################################
68 [testenv:cover]
69 deps = {[testenv]deps}
70 -r{toxinidir}/requirements-dev.txt
71 -r{toxinidir}/requirements-test.txt
72 skip_install = true
73 commands =
74 sh -c 'rm -f nosetests.xml'
75 coverage erase
76 # NG-RO
77 - nose2 -C --coverage NG-RO/osm_ng_ro
78 sh -c 'mv .coverage .coverage_ng_ro'
79 # RO-plugin
80 - nose2 -C --coverage RO-plugin/osm_ro_plugin
81 sh -c 'mv .coverage .coverage_ro_plugin'
82 # RO-SDN-arista_cloudvision
83 - nose2 -C --coverage RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
84 sh -c 'mv .coverage .coverage_rosdn_arista_cloudvision'
85 # RO-SDN-dpb
86 - nose2 -C --coverage RO-SDN-dpb/osm_rosdn_dpb
87 sh -c 'mv .coverage .coverage_rosdn_dpb'
88 # RO-SDN-dynpac
89 - nose2 -C --coverage RO-SDN-dynpac/osm_rosdn_dynpac
90 sh -c 'mv .coverage .coverage_rosdn_dynpac'
91 # RO-SDN-floodlight_openflow
92 - nose2 -C --coverage RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
93 sh -c 'mv .coverage .coverage_rosdn_floodlightof'
94 # RO-SDN-ietfl2vpn
95 - nose2 -C --coverage RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
96 sh -c 'mv .coverage .coverage_rosdn_ietfl2vpn'
97 # RO-SDN-juniper_contrail
98 - nose2 -C --coverage RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
99 sh -c 'mv .coverage .coverage_rosdn_juniper_contrail'
100 # RO-SDN-odl_openflow
101 - nose2 -C --coverage RO-SDN-odl_openflow/osm_rosdn_odlof
102 sh -c 'mv .coverage .coverage_rosdn_odlof'
103 # RO-SDN-onos_openflow
104 - nose2 -C --coverage RO-SDN-onos_openflow/osm_rosdn_onosof
105 sh -c 'mv .coverage .coverage_rosdn_onosof'
106 # RO-SDN-onos_vpls
107 - nose2 -C --coverage RO-SDN-onos_vpls/osm_rosdn_onos_vpls
108 sh -c 'mv .coverage .coverage_rosdn_onos_vpls'
109 # RO-VIM-aws
110 - nose2 -C --coverage RO-VIM-aws/osm_rovim_aws
111 sh -c 'mv .coverage .coverage_rovim_aws'
112 # RO-VIM-azure
113 - nose2 -C --coverage RO-VIM-azure/osm_rovim_azure
114 sh -c 'mv .coverage .coverage_rovim_azure'
115 # RO-VIM-fos
116 - nose2 -C --coverage RO-VIM-fos/osm_rovim_fos
117 sh -c 'mv .coverage .coverage_rovim_fos'
118 # RO-VIM-openstack
119 - nose2 -C --coverage RO-VIM-openstack/osm_rovim_openstack -s RO-VIM-openstack/osm_rovim_openstack
120 sh -c 'mv .coverage .coverage_rovim_openstack'
121 # RO-VIM-openvim
122 - nose2 -C --coverage RO-VIM-openvim/osm_rovim_openvim
123 sh -c 'mv .coverage .coverage_rovim_openvim'
124 # RO-VIM-vmware
125 - nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
126 sh -c 'mv .coverage .coverage_rovim_vmware'
127 # RO-VIM-gcp
128 - nose2 -C --coverage RO-VIM-gcp/osm_rovim_gcp
129 sh -c 'mv .coverage .coverage_rovim_gcp'
130 # Combine results and generate reports
131 coverage combine .coverage_ng_ro .coverage_ro_plugin .coverage_rosdn_arista_cloudvision .coverage_rosdn_dpb .coverage_rosdn_dynpac .coverage_rosdn_floodlightof .coverage_rosdn_ietfl2vpn .coverage_rosdn_juniper_contrail .coverage_rosdn_odlof .coverage_rosdn_onos_vpls .coverage_rosdn_onosof .coverage_rovim_aws .coverage_rovim_azure .coverage_rovim_fos .coverage_rovim_openvim .coverage_rovim_gcp # .coverage_rovim_openstack .coverage_rovim_vmware
132 coverage report --omit='*tests*'
133 coverage html -d ./cover --omit='*tests*'
134 coverage xml -o coverage.xml --omit='*tests*'
135 whitelist_externals = sh
136
137
138 #######################################################################################
139 [testenv:flake8]
140 deps = flake8
141 skip_install = true
142 commands =
143 - flake8 NG-RO/osm_ng_ro/ NG-RO/setup.py
144 - flake8 RO-plugin/osm_ro_plugin/ RO-plugin/setup.py
145 - flake8 RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/ RO-SDN-arista_cloudvision/setup.py
146 - flake8 RO-SDN-dpb/osm_rosdn_dpb/ RO-SDN-dpb/setup.py
147 - flake8 RO-SDN-dynpac/osm_rosdn_dynpac/ RO-SDN-dynpac/setup.py
148 - flake8 RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/ RO-SDN-floodlight_openflow/setup.py
149 - flake8 RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/ RO-SDN-ietfl2vpn/setup.py
150 - flake8 RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/ RO-SDN-juniper_contrail/setup.py
151 - flake8 RO-SDN-odl_openflow/osm_rosdn_odlof/ RO-SDN-odl_openflow/setup.py
152 - flake8 RO-SDN-onos_openflow/osm_rosdn_onosof/ RO-SDN-onos_openflow/setup.py
153 - flake8 RO-SDN-onos_vpls/osm_rosdn_onos_vpls/ RO-SDN-onos_vpls/setup.py
154 - flake8 RO-VIM-aws/osm_rovim_aws/ RO-VIM-aws/setup.py
155 - flake8 RO-VIM-azure/osm_rovim_azure/ RO-VIM-azure/setup.py
156 - flake8 RO-VIM-fos/osm_rovim_fos/ RO-VIM-fos/setup.py
157 - flake8 RO-VIM-openstack/osm_rovim_openstack/ RO-VIM-openstack/setup.py
158 - flake8 RO-VIM-openvim/osm_rovim_openvim/ RO-VIM-openvim/setup.py
159 - flake8 RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py RO-VIM-vmware/setup.py
160 - flake8 RO-VIM-gcp/osm_rovim_gcp/ RO-VIM-gcp/setup.py
161 - flake8 integration-tests/
162
163
164 #######################################################################################
165 [testenv:pylint]
166 deps = {[testenv]deps}
167 -r{toxinidir}/requirements-dev.txt
168 -r{toxinidir}/requirements-test.txt
169 pylint
170 skip_install = true
171 commands =
172 - pylint -E NG-RO/osm_ng_ro
173 - pylint -E RO-plugin/osm_ro_plugin
174 - pylint -E RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
175 - pylint -E RO-SDN-dpb/osm_rosdn_dpb
176 - pylint -E RO-SDN-dynpac/osm_rosdn_dynpac
177 - pylint -E RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
178 - pylint -E RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
179 - pylint -E RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
180 - pylint -E RO-SDN-odl_openflow/osm_rosdn_odlof
181 - pylint -E RO-SDN-onos_openflow/osm_rosdn_onosof
182 - pylint -E RO-SDN-onos_vpls/osm_rosdn_onos_vpls
183 - pylint -E RO-VIM-aws/osm_rovim_aws
184 - pylint -E RO-VIM-azure/osm_rovim_azure
185 - pylint -E RO-VIM-fos/osm_rovim_fos
186 - pylint -E RO-VIM-openstack/osm_rovim_openstack
187 - pylint -E RO-VIM-openvim/osm_rovim_openvim
188 - pylint -E RO-VIM-vmware/osm_rovim_vmware
189 - pylint -E RO-VIM-gcp/osm_rovim_gcp
190
191
192 #######################################################################################
193 [testenv:safety]
194 setenv =
195 LC_ALL=C.UTF-8
196 LANG=C.UTF-8
197 deps = {[testenv]deps}
198 safety
199 skip_install = true
200 commands =
201 - safety check --full-report
202
203
204 #######################################################################################
205 [testenv:pip-compile]
206 deps = pip-tools==5.5.0
207 skip_install = true
208 commands =
209 - sh -c "for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
210 out=`echo $file | sed 's/.in/.txt/'` ; \
211 sed -i -e '1 e head -16 tox.ini' $out ;\
212 done"
213 whitelist_externals = sh
214
215
216 #######################################################################################
217 [testenv:dist_ng_ro]
218 deps = {[testenv]deps}
219 -r{toxinidir}/requirements-dist.txt
220 skip_install = true
221 changedir = {toxinidir}/NG-RO
222 commands =
223 sh -c 'rm -rf osm_ng_ro/requirements.txt deb_dist dist osm_ng_ro.egg-info osm_ng_ro*.tar.gz'
224 sh -c 'cp ../requirements.txt osm_ng_ro/requirements.txt'
225 python3 setup.py --command-packages=stdeb.command sdist_dsc
226 sh -c 'cd deb_dist/osm-ng-ro*/ && dpkg-buildpackage -rfakeroot -uc -us'
227 whitelist_externals = sh
228
229 #######################################################################################
230 [testenv:dist_ro_plugin]
231 deps = {[testenv]deps}
232 -r{toxinidir}/requirements-dist.txt
233 skip_install = true
234 changedir = {toxinidir}/RO-plugin
235 commands =
236 sh -c 'rm -rf deb_dist dist osm_ro_plugin.egg-info osm_ro_plugin*.tar.gz'
237 python3 setup.py --command-packages=stdeb.command sdist_dsc
238 sh -c 'cd deb_dist/osm-ro-plugin*/ && dpkg-buildpackage -rfakeroot -uc -us'
239 whitelist_externals = sh
240
241 #######################################################################################
242 [testenv:dist_ro_sdn_arista_cloudvision]
243 deps = {[testenv]deps}
244 -r{toxinidir}/requirements-dist.txt
245 skip_install = true
246 changedir = {toxinidir}/RO-SDN-arista_cloudvision
247 commands =
248 sh -c 'rm -rf deb_dist dist osm_rosdn_arista_cloudvision.egg-info osm_rosdn_arista_cloudvision*.tar.gz'
249 python3 setup.py --command-packages=stdeb.command sdist_dsc
250 sh -c 'cd deb_dist/osm-rosdn-arista-cloudvision*/ && dpkg-buildpackage -rfakeroot -uc -us'
251 whitelist_externals = sh
252
253 #######################################################################################
254 [testenv:dist_ro_sdn_dpb]
255 deps = {[testenv]deps}
256 -r{toxinidir}/requirements-dist.txt
257 skip_install = true
258 changedir = {toxinidir}/RO-SDN-dpb
259 commands =
260 sh -c 'rm -rf deb_dist dist osm_rosdn_dpb.egg-info osm_rosdn_dpb*.tar.gz'
261 python3 setup.py --command-packages=stdeb.command sdist_dsc
262 sh -c 'cd deb_dist/osm-rosdn-dpb*/ && dpkg-buildpackage -rfakeroot -uc -us'
263 whitelist_externals = sh
264
265 #######################################################################################
266 [testenv:dist_ro_sdn_dynpac]
267 deps = {[testenv]deps}
268 -r{toxinidir}/requirements-dist.txt
269 skip_install = true
270 changedir = {toxinidir}/RO-SDN-dynpac
271 commands =
272 sh -c 'rm -rf deb_dist dist osm_rosdn_dynpac.egg-info osm_rosdn_dynpac*.tar.gz'
273 python3 setup.py --command-packages=stdeb.command sdist_dsc
274 sh -c 'cd deb_dist/osm-rosdn-dynpac*/ && dpkg-buildpackage -rfakeroot -uc -us'
275 whitelist_externals = sh
276
277 #######################################################################################
278 [testenv:dist_ro_sdn_floodlight_of]
279 deps = {[testenv]deps}
280 -r{toxinidir}/requirements-dist.txt
281 skip_install = true
282 changedir = {toxinidir}/RO-SDN-floodlight_openflow
283 commands =
284 sh -c 'rm -rf deb_dist dist osm_rosdn_floodlightof.egg-info osm_rosdn_floodlightof*.tar.gz'
285 python3 setup.py --command-packages=stdeb.command sdist_dsc
286 sh -c 'cd deb_dist/osm-rosdn-floodlightof*/ && dpkg-buildpackage -rfakeroot -uc -us'
287 whitelist_externals = sh
288
289 #######################################################################################
290 [testenv:dist_ro_sdn_ietfl2vpn]
291 deps = {[testenv]deps}
292 -r{toxinidir}/requirements-dist.txt
293 skip_install = true
294 changedir = {toxinidir}/RO-SDN-ietfl2vpn
295 commands =
296 sh -c 'rm -rf deb_dist dist osm_rosdn_ietfl2vpn.egg-info osm_rosdn_ietfl2vpn*.tar.gz'
297 python3 setup.py --command-packages=stdeb.command sdist_dsc
298 sh -c 'cd deb_dist/osm-rosdn-ietfl2vpn*/ && dpkg-buildpackage -rfakeroot -uc -us'
299 whitelist_externals = sh
300
301 #######################################################################################
302 [testenv:dist_ro_sdn_juniper_contrail]
303 deps = {[testenv]deps}
304 -r{toxinidir}/requirements-dist.txt
305 skip_install = true
306 changedir = {toxinidir}/RO-SDN-juniper_contrail
307 commands =
308 sh -c 'rm -rf deb_dist dist osm_rosdn_juniper_contrail.egg-info osm_rosdn_juniper_contrail*.tar.gz'
309 python3 setup.py --command-packages=stdeb.command sdist_dsc
310 sh -c 'cd deb_dist/osm-rosdn-juniper-contrail*/ && dpkg-buildpackage -rfakeroot -uc -us'
311 whitelist_externals = sh
312
313 #######################################################################################
314 [testenv:dist_ro_sdn_odl_of]
315 deps = {[testenv]deps}
316 -r{toxinidir}/requirements-dist.txt
317 skip_install = true
318 changedir = {toxinidir}/RO-SDN-odl_openflow
319 commands =
320 sh -c 'rm -rf deb_dist dist osm_rosdn_odlof.egg-info osm_rosdn_odlof*.tar.gz'
321 python3 setup.py --command-packages=stdeb.command sdist_dsc
322 sh -c 'cd deb_dist/osm-rosdn-odlof*/ && dpkg-buildpackage -rfakeroot -uc -us'
323 whitelist_externals = sh
324
325 #######################################################################################
326 [testenv:dist_ro_sdn_onos_of]
327 deps = {[testenv]deps}
328 -r{toxinidir}/requirements-dist.txt
329 skip_install = true
330 changedir = {toxinidir}/RO-SDN-onos_openflow
331 commands =
332 sh -c 'rm -rf deb_dist dist osm_rosdn_onosof.egg-info osm_rosdn_onosof*.tar.gz'
333 python3 setup.py --command-packages=stdeb.command sdist_dsc
334 sh -c 'cd deb_dist/osm-rosdn-onosof*/ && dpkg-buildpackage -rfakeroot -uc -us'
335 whitelist_externals = sh
336
337 #######################################################################################
338 [testenv:dist_ro_sdn_onos_vpls]
339 deps = {[testenv]deps}
340 -r{toxinidir}/requirements-dist.txt
341 skip_install = true
342 changedir = {toxinidir}/RO-SDN-onos_vpls
343 commands =
344 sh -c 'rm -rf deb_dist dist osm_rosdn_onos_vpls.egg-info osm_rosdn_onos_vpls*.tar.gz'
345 python3 setup.py --command-packages=stdeb.command sdist_dsc
346 sh -c 'cd deb_dist/osm-rosdn-onos-vpls*/ && dpkg-buildpackage -rfakeroot -uc -us'
347 whitelist_externals = sh
348
349 #######################################################################################
350 [testenv:dist_ro_vim_aws]
351 deps = {[testenv]deps}
352 -r{toxinidir}/requirements-dist.txt
353 skip_install = true
354 changedir = {toxinidir}/RO-VIM-aws
355 commands =
356 sh -c 'rm -rf deb_dist dist osm_rovim_aws.egg-info osm_rovim_aws*.tar.gz'
357 python3 setup.py --command-packages=stdeb.command sdist_dsc
358 sh -c 'cd deb_dist/osm-rovim-aws*/ && dpkg-buildpackage -rfakeroot -uc -us'
359 whitelist_externals = sh
360
361 #######################################################################################
362 [testenv:dist_ro_vim_azure]
363 deps = {[testenv]deps}
364 -r{toxinidir}/requirements-dist.txt
365 skip_install = true
366 changedir = {toxinidir}/RO-VIM-azure
367 commands =
368 sh -c 'rm -rf deb_dist dist osm_rovim_azure.egg-info osm_rovim_azure*.tar.gz'
369 python3 setup.py --command-packages=stdeb.command sdist_dsc
370 sh -c 'cd deb_dist/osm-rovim-azure*/ && dpkg-buildpackage -rfakeroot -uc -us'
371 whitelist_externals = sh
372
373 #######################################################################################
374 [testenv:dist_ro_vim_fos]
375 deps = {[testenv]deps}
376 -r{toxinidir}/requirements-dist.txt
377 skip_install = true
378 changedir = {toxinidir}/RO-VIM-fos
379 commands =
380 sh -c 'rm -rf deb_dist dist osm_rovim_fos.egg-info osm_rovim_fos*.tar.gz'
381 python3 setup.py --command-packages=stdeb.command sdist_dsc
382 sh -c 'cd deb_dist/osm-rovim-fos*/ && dpkg-buildpackage -rfakeroot -uc -us'
383 whitelist_externals = sh
384
385
386 #######################################################################################
387 [testenv:dist_ro_vim_openstack]
388 deps = {[testenv]deps}
389 -r{toxinidir}/requirements-dist.txt
390 skip_install = true
391 changedir = {toxinidir}/RO-VIM-openstack
392 commands =
393 sh -c 'rm -rf deb_dist dist osm_rovim_openstack.egg-info osm_rovim_openstack*.tar.gz'
394 python3 setup.py --command-packages=stdeb.command sdist_dsc
395 sh -c 'cd deb_dist/osm-rovim-openstack*/ && dpkg-buildpackage -rfakeroot -uc -us'
396 whitelist_externals = sh
397
398 #######################################################################################
399 [testenv:dist_ro_vim_openvim]
400 deps = {[testenv]deps}
401 -r{toxinidir}/requirements-dist.txt
402 skip_install = true
403 changedir = {toxinidir}/RO-VIM-openvim
404 commands =
405 sh -c 'rm -rf deb_dist dist osm_rovim_openvim.egg-info osm_rovim_openvim*.tar.gz'
406 python3 setup.py --command-packages=stdeb.command sdist_dsc
407 sh -c 'cd deb_dist/osm-rovim-openvim*/ && dpkg-buildpackage -rfakeroot -uc -us'
408 whitelist_externals = sh
409
410 #######################################################################################
411 [testenv:dist_ro_vim_vmware]
412 deps = {[testenv]deps}
413 -r{toxinidir}/requirements-dist.txt
414 skip_install = true
415 changedir = {toxinidir}/RO-VIM-vmware
416 commands =
417 sh -c 'rm -rf deb_dist dist osm_rovim_vmware.egg-info osm_rovim_vmware*.tar.gz'
418 python3 setup.py --command-packages=stdeb.command sdist_dsc
419 sh -c 'cd deb_dist/osm-rovim-vmware*/ && dpkg-buildpackage -rfakeroot -uc -us'
420 whitelist_externals = sh
421
422 #######################################################################################
423 [testenv:dist_ro_vim_gcp]
424 deps = {[testenv]deps}
425 -r{toxinidir}/requirements-dist.txt
426 skip_install = true
427 changedir = {toxinidir}/RO-VIM-gcp
428 commands =
429 sh -c 'rm -rf deb_dist dist osm_rovim_gcp.egg-info osm_rovim_gcp*.tar.gz'
430 python3 setup.py --command-packages=stdeb.command sdist_dsc
431 sh -c 'cd deb_dist/osm-rovim-gcp*/ && dpkg-buildpackage -rfakeroot -uc -us'
432 whitelist_externals = sh
433
434
435 #######################################################################################
436 [flake8]
437 ignore =
438 W291,
439 W293,
440 W503,
441 W605,
442 E123,
443 E125,
444 E203,
445 E226,
446 E241
447 exclude =
448 .git,
449 __pycache__,
450 .tox,
451 max-line-length = 120
452 show-source = True
453 builtins = _