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:black]
35 deps = black
36 skip_install = true
37 commands =
38 black --check --diff NG-RO
39 black --check --diff RO-plugin
40 black --check --diff RO-SDN-arista_cloudvision
41 black --check --diff RO-SDN-dpb
42 black --check --diff RO-SDN-dynpac
43 black --check --diff RO-SDN-floodlight_openflow
44 black --check --diff RO-SDN-ietfl2vpn
45 black --check --diff RO-SDN-juniper_contrail
46 black --check --diff RO-SDN-odl_openflow
47 black --check --diff RO-SDN-onos_openflow
48 black --check --diff RO-SDN-onos_vpls
49 black --check --diff RO-VIM-aws
50 black --check --diff RO-VIM-azure
51 black --check --diff RO-VIM-fos
52 black --check --diff RO-VIM-openstack
53 black --check --diff RO-VIM-openvim
54 black --check --diff RO-VIM-vmware
55
56
57 #######################################################################################
58 [testenv:cover]
59 deps = {[testenv]deps}
60 -r{toxinidir}/requirements-dev.txt
61 -r{toxinidir}/requirements-test.txt
62 skip_install = true
63 commands =
64 sh -c 'rm -f nosetests.xml'
65 coverage erase
66 # NG-RO
67 - nose2 -C --coverage NG-RO/osm_ng_ro
68 sh -c 'mv .coverage .coverage_ng_ro'
69 # RO-plugin
70 - nose2 -C --coverage RO-plugin/osm_ro_plugin
71 sh -c 'mv .coverage .coverage_ro_plugin'
72 # RO-SDN-arista_cloudvision
73 - nose2 -C --coverage RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
74 sh -c 'mv .coverage .coverage_rosdn_arista_cloudvision'
75 # RO-SDN-dpb
76 - nose2 -C --coverage RO-SDN-dpb/osm_rosdn_dpb
77 sh -c 'mv .coverage .coverage_rosdn_dpb'
78 # RO-SDN-dynpac
79 - nose2 -C --coverage RO-SDN-dynpac/osm_rosdn_dynpac
80 sh -c 'mv .coverage .coverage_rosdn_dynpac'
81 # RO-SDN-floodlight_openflow
82 - nose2 -C --coverage RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
83 sh -c 'mv .coverage .coverage_rosdn_floodlightof'
84 # RO-SDN-ietfl2vpn
85 - nose2 -C --coverage RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
86 sh -c 'mv .coverage .coverage_rosdn_ietfl2vpn'
87 # RO-SDN-juniper_contrail
88 - nose2 -C --coverage RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
89 sh -c 'mv .coverage .coverage_rosdn_juniper_contrail'
90 # RO-SDN-odl_openflow
91 - nose2 -C --coverage RO-SDN-odl_openflow/osm_rosdn_odlof
92 sh -c 'mv .coverage .coverage_rosdn_odlof'
93 # RO-SDN-onos_openflow
94 - nose2 -C --coverage RO-SDN-onos_openflow/osm_rosdn_onosof
95 sh -c 'mv .coverage .coverage_rosdn_onosof'
96 # RO-SDN-onos_vpls
97 - nose2 -C --coverage RO-SDN-onos_vpls/osm_rosdn_onos_vpls
98 sh -c 'mv .coverage .coverage_rosdn_onos_vpls'
99 # RO-VIM-aws
100 - nose2 -C --coverage RO-VIM-aws/osm_rovim_aws
101 sh -c 'mv .coverage .coverage_rovim_aws'
102 # RO-VIM-azure
103 - nose2 -C --coverage RO-VIM-azure/osm_rovim_azure
104 sh -c 'mv .coverage .coverage_rovim_azure'
105 # RO-VIM-fos
106 - nose2 -C --coverage RO-VIM-fos/osm_rovim_fos
107 sh -c 'mv .coverage .coverage_rovim_fos'
108 # RO-VIM-openstack
109 - nose2 -C --coverage RO-VIM-openstack/osm_rovim_openstack -s RO-VIM-openstack/osm_rovim_openstack
110 sh -c 'mv .coverage .coverage_rovim_openstack'
111 # RO-VIM-openvim
112 - nose2 -C --coverage RO-VIM-openvim/osm_rovim_openvim
113 sh -c 'mv .coverage .coverage_rovim_openvim'
114 # RO-VIM-vmware
115 - nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
116 sh -c 'mv .coverage .coverage_rovim_vmware'
117 # Combine results and generate reports
118 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_openstack .coverage_rovim_vmware
119 coverage report --omit='*tests*'
120 coverage html -d ./cover --omit='*tests*'
121 coverage xml -o coverage.xml --omit='*tests*'
122 whitelist_externals = sh
123
124
125 #######################################################################################
126 [testenv:flake8]
127 deps = flake8
128 skip_install = true
129 commands =
130 - flake8 NG-RO/osm_ng_ro/ NG-RO/setup.py
131 - flake8 RO-plugin/osm_ro_plugin/ RO-plugin/setup.py
132 - flake8 RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/ RO-SDN-arista_cloudvision/setup.py
133 - flake8 RO-SDN-dpb/osm_rosdn_dpb/ RO-SDN-dpb/setup.py
134 - flake8 RO-SDN-dynpac/osm_rosdn_dynpac/ RO-SDN-dynpac/setup.py
135 - flake8 RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/ RO-SDN-floodlight_openflow/setup.py
136 - flake8 RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/ RO-SDN-ietfl2vpn/setup.py
137 - flake8 RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/ RO-SDN-juniper_contrail/setup.py
138 - flake8 RO-SDN-odl_openflow/osm_rosdn_odlof/ RO-SDN-odl_openflow/setup.py
139 - flake8 RO-SDN-onos_openflow/osm_rosdn_onosof/ RO-SDN-onos_openflow/setup.py
140 - flake8 RO-SDN-onos_vpls/osm_rosdn_onos_vpls/ RO-SDN-onos_vpls/setup.py
141 - flake8 RO-VIM-aws/osm_rovim_aws/ RO-VIM-aws/setup.py
142 - flake8 RO-VIM-azure/osm_rovim_azure/ RO-VIM-azure/setup.py
143 - flake8 RO-VIM-fos/osm_rovim_fos/ RO-VIM-fos/setup.py
144 - flake8 RO-VIM-openstack/osm_rovim_openstack/ RO-VIM-openstack/setup.py
145 - flake8 RO-VIM-openvim/osm_rovim_openvim/ RO-VIM-openvim/setup.py
146 - 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
147
148
149 #######################################################################################
150 [testenv:pylint]
151 deps = {[testenv]deps}
152 -r{toxinidir}/requirements-dev.txt
153 -r{toxinidir}/requirements-test.txt
154 pylint
155 skip_install = true
156 commands =
157 - pylint -E NG-RO/osm_ng_ro
158 - pylint -E RO-plugin/osm_ro_plugin
159 - pylint -E RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
160 - pylint -E RO-SDN-dpb/osm_rosdn_dpb
161 - pylint -E RO-SDN-dynpac/osm_rosdn_dynpac
162 - pylint -E RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
163 - pylint -E RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
164 - pylint -E RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
165 - pylint -E RO-SDN-odl_openflow/osm_rosdn_odlof
166 - pylint -E RO-SDN-onos_openflow/osm_rosdn_onosof
167 - pylint -E RO-SDN-onos_vpls/osm_rosdn_onos_vpls
168 - pylint -E RO-VIM-aws/osm_rovim_aws
169 - pylint -E RO-VIM-azure/osm_rovim_azure
170 - pylint -E RO-VIM-fos/osm_rovim_fos
171 - pylint -E RO-VIM-openstack/osm_rovim_openstack
172 - pylint -E RO-VIM-openvim/osm_rovim_openvim
173 - pylint -E RO-VIM-vmware/osm_rovim_vmware
174
175
176 #######################################################################################
177 [testenv:safety]
178 setenv =
179 LC_ALL=C.UTF-8
180 LANG=C.UTF-8
181 deps = {[testenv]deps}
182 safety
183 skip_install = true
184 commands =
185 - safety check --full-report
186
187
188 #######################################################################################
189 [testenv:pip-compile]
190 deps = pip-tools==5.5.0
191 skip_install = true
192 commands =
193 - sh -c "for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
194 out=`echo $file | sed 's/.in/.txt/'` ;\
195 sed -i -e '1 e head -16 tox.ini' $out ;\
196 done"
197 whitelist_externals = sh
198
199
200 #######################################################################################
201 [testenv:dist_ng_ro]
202 deps = {[testenv]deps}
203 -r{toxinidir}/requirements-dist.txt
204 skip_install = true
205 changedir = {toxinidir}/NG-RO
206 commands =
207 sh -c 'rm -rf osm_ng_ro/requirements.txt deb_dist dist osm_ng_ro.egg-info osm_ng_ro*.tar.gz'
208 sh -c 'cp ../requirements.txt osm_ng_ro/requirements.txt'
209 python3 setup.py --command-packages=stdeb.command sdist_dsc
210 sh -c 'cd deb_dist/osm-ng-ro*/ && dpkg-buildpackage -rfakeroot -uc -us'
211 whitelist_externals = sh
212
213 #######################################################################################
214 [testenv:dist_ro_plugin]
215 deps = {[testenv]deps}
216 -r{toxinidir}/requirements-dist.txt
217 skip_install = true
218 changedir = {toxinidir}/RO-plugin
219 commands =
220 sh -c 'rm -rf deb_dist dist osm_ro_plugin.egg-info osm_ro_plugin*.tar.gz'
221 python3 setup.py --command-packages=stdeb.command sdist_dsc
222 sh -c 'cd deb_dist/osm-ro-plugin*/ && dpkg-buildpackage -rfakeroot -uc -us'
223 whitelist_externals = sh
224
225 #######################################################################################
226 [testenv:dist_ro_sdn_arista_cloudvision]
227 deps = {[testenv]deps}
228 -r{toxinidir}/requirements-dist.txt
229 skip_install = true
230 changedir = {toxinidir}/RO-SDN-arista_cloudvision
231 commands =
232 sh -c 'rm -rf deb_dist dist osm_rosdn_arista_cloudvision.egg-info osm_rosdn_arista_cloudvision*.tar.gz'
233 python3 setup.py --command-packages=stdeb.command sdist_dsc
234 sh -c 'cd deb_dist/osm-rosdn-arista-cloudvision*/ && dpkg-buildpackage -rfakeroot -uc -us'
235 whitelist_externals = sh
236
237 #######################################################################################
238 [testenv:dist_ro_sdn_dpb]
239 deps = {[testenv]deps}
240 -r{toxinidir}/requirements-dist.txt
241 skip_install = true
242 changedir = {toxinidir}/RO-SDN-dpb
243 commands =
244 sh -c 'rm -rf deb_dist dist osm_rosdn_dpb.egg-info osm_rosdn_dpb*.tar.gz'
245 python3 setup.py --command-packages=stdeb.command sdist_dsc
246 sh -c 'cd deb_dist/osm-rosdn-dpb*/ && dpkg-buildpackage -rfakeroot -uc -us'
247 whitelist_externals = sh
248
249 #######################################################################################
250 [testenv:dist_ro_sdn_dynpac]
251 deps = {[testenv]deps}
252 -r{toxinidir}/requirements-dist.txt
253 skip_install = true
254 changedir = {toxinidir}/RO-SDN-dynpac
255 commands =
256 sh -c 'rm -rf deb_dist dist osm_rosdn_dynpac.egg-info osm_rosdn_dynpac*.tar.gz'
257 python3 setup.py --command-packages=stdeb.command sdist_dsc
258 sh -c 'cd deb_dist/osm-rosdn-dynpac*/ && dpkg-buildpackage -rfakeroot -uc -us'
259 whitelist_externals = sh
260
261 #######################################################################################
262 [testenv:dist_ro_sdn_floodlight_of]
263 deps = {[testenv]deps}
264 -r{toxinidir}/requirements-dist.txt
265 skip_install = true
266 changedir = {toxinidir}/RO-SDN-floodlight_openflow
267 commands =
268 sh -c 'rm -rf deb_dist dist osm_rosdn_floodlightof.egg-info osm_rosdn_floodlightof*.tar.gz'
269 python3 setup.py --command-packages=stdeb.command sdist_dsc
270 sh -c 'cd deb_dist/osm-rosdn-floodlightof*/ && dpkg-buildpackage -rfakeroot -uc -us'
271 whitelist_externals = sh
272
273 #######################################################################################
274 [testenv:dist_ro_sdn_ietfl2vpn]
275 deps = {[testenv]deps}
276 -r{toxinidir}/requirements-dist.txt
277 skip_install = true
278 changedir = {toxinidir}/RO-SDN-ietfl2vpn
279 commands =
280 sh -c 'rm -rf deb_dist dist osm_rosdn_ietfl2vpn.egg-info osm_rosdn_ietfl2vpn*.tar.gz'
281 python3 setup.py --command-packages=stdeb.command sdist_dsc
282 sh -c 'cd deb_dist/osm-rosdn-ietfl2vpn*/ && dpkg-buildpackage -rfakeroot -uc -us'
283 whitelist_externals = sh
284
285 #######################################################################################
286 [testenv:dist_ro_sdn_juniper_contrail]
287 deps = {[testenv]deps}
288 -r{toxinidir}/requirements-dist.txt
289 skip_install = true
290 changedir = {toxinidir}/RO-SDN-juniper_contrail
291 commands =
292 sh -c 'rm -rf deb_dist dist osm_rosdn_juniper_contrail.egg-info osm_rosdn_juniper_contrail*.tar.gz'
293 python3 setup.py --command-packages=stdeb.command sdist_dsc
294 sh -c 'cd deb_dist/osm-rosdn-juniper-contrail*/ && dpkg-buildpackage -rfakeroot -uc -us'
295 whitelist_externals = sh
296
297 #######################################################################################
298 [testenv:dist_ro_sdn_odl_of]
299 deps = {[testenv]deps}
300 -r{toxinidir}/requirements-dist.txt
301 skip_install = true
302 changedir = {toxinidir}/RO-SDN-odl_openflow
303 commands =
304 sh -c 'rm -rf deb_dist dist osm_rosdn_odlof.egg-info osm_rosdn_odlof*.tar.gz'
305 python3 setup.py --command-packages=stdeb.command sdist_dsc
306 sh -c 'cd deb_dist/osm-rosdn-odlof*/ && dpkg-buildpackage -rfakeroot -uc -us'
307 whitelist_externals = sh
308
309 #######################################################################################
310 [testenv:dist_ro_sdn_onos_of]
311 deps = {[testenv]deps}
312 -r{toxinidir}/requirements-dist.txt
313 skip_install = true
314 changedir = {toxinidir}/RO-SDN-onos_openflow
315 commands =
316 sh -c 'rm -rf deb_dist dist osm_rosdn_onosof.egg-info osm_rosdn_onosof*.tar.gz'
317 python3 setup.py --command-packages=stdeb.command sdist_dsc
318 sh -c 'cd deb_dist/osm-rosdn-onosof*/ && dpkg-buildpackage -rfakeroot -uc -us'
319 whitelist_externals = sh
320
321 #######################################################################################
322 [testenv:dist_ro_sdn_onos_vpls]
323 deps = {[testenv]deps}
324 -r{toxinidir}/requirements-dist.txt
325 skip_install = true
326 changedir = {toxinidir}/RO-SDN-onos_vpls
327 commands =
328 sh -c 'rm -rf deb_dist dist osm_rosdn_onos_vpls.egg-info osm_rosdn_onos_vpls*.tar.gz'
329 python3 setup.py --command-packages=stdeb.command sdist_dsc
330 sh -c 'cd deb_dist/osm-rosdn-onos-vpls*/ && dpkg-buildpackage -rfakeroot -uc -us'
331 whitelist_externals = sh
332
333 #######################################################################################
334 [testenv:dist_ro_vim_aws]
335 deps = {[testenv]deps}
336 -r{toxinidir}/requirements-dist.txt
337 skip_install = true
338 changedir = {toxinidir}/RO-VIM-aws
339 commands =
340 sh -c 'rm -rf deb_dist dist osm_rovim_aws.egg-info osm_rovim_aws*.tar.gz'
341 python3 setup.py --command-packages=stdeb.command sdist_dsc
342 sh -c 'cd deb_dist/osm-rovim-aws*/ && dpkg-buildpackage -rfakeroot -uc -us'
343 whitelist_externals = sh
344
345 #######################################################################################
346 [testenv:dist_ro_vim_azure]
347 deps = {[testenv]deps}
348 -r{toxinidir}/requirements-dist.txt
349 skip_install = true
350 changedir = {toxinidir}/RO-VIM-azure
351 commands =
352 sh -c 'rm -rf deb_dist dist osm_rovim_azure.egg-info osm_rovim_azure*.tar.gz'
353 python3 setup.py --command-packages=stdeb.command sdist_dsc
354 sh -c 'cd deb_dist/osm-rovim-azure*/ && dpkg-buildpackage -rfakeroot -uc -us'
355 whitelist_externals = sh
356
357 #######################################################################################
358 [testenv:dist_ro_vim_fos]
359 deps = {[testenv]deps}
360 -r{toxinidir}/requirements-dist.txt
361 skip_install = true
362 changedir = {toxinidir}/RO-VIM-fos
363 commands =
364 sh -c 'rm -rf deb_dist dist osm_rovim_fos.egg-info osm_rovim_fos*.tar.gz'
365 python3 setup.py --command-packages=stdeb.command sdist_dsc
366 sh -c 'cd deb_dist/osm-rovim-fos*/ && dpkg-buildpackage -rfakeroot -uc -us'
367 whitelist_externals = sh
368
369
370 #######################################################################################
371 [testenv:dist_ro_vim_openstack]
372 deps = {[testenv]deps}
373 -r{toxinidir}/requirements-dist.txt
374 skip_install = true
375 changedir = {toxinidir}/RO-VIM-openstack
376 commands =
377 sh -c 'rm -rf deb_dist dist osm_rovim_openstack.egg-info osm_rovim_openstack*.tar.gz'
378 python3 setup.py --command-packages=stdeb.command sdist_dsc
379 sh -c 'cd deb_dist/osm-rovim-openstack*/ && dpkg-buildpackage -rfakeroot -uc -us'
380 whitelist_externals = sh
381
382 #######################################################################################
383 [testenv:dist_ro_vim_openvim]
384 deps = {[testenv]deps}
385 -r{toxinidir}/requirements-dist.txt
386 skip_install = true
387 changedir = {toxinidir}/RO-VIM-openvim
388 commands =
389 sh -c 'rm -rf deb_dist dist osm_rovim_openvim.egg-info osm_rovim_openvim*.tar.gz'
390 python3 setup.py --command-packages=stdeb.command sdist_dsc
391 sh -c 'cd deb_dist/osm-rovim-openvim*/ && dpkg-buildpackage -rfakeroot -uc -us'
392 whitelist_externals = sh
393
394 #######################################################################################
395 [testenv:dist_ro_vim_vmware]
396 deps = {[testenv]deps}
397 -r{toxinidir}/requirements-dist.txt
398 skip_install = true
399 changedir = {toxinidir}/RO-VIM-vmware
400 commands =
401 sh -c 'rm -rf deb_dist dist osm_rovim_vmware.egg-info osm_rovim_vmware*.tar.gz'
402 python3 setup.py --command-packages=stdeb.command sdist_dsc
403 sh -c 'cd deb_dist/osm-rovim-vmware*/ && dpkg-buildpackage -rfakeroot -uc -us'
404 whitelist_externals = sh
405
406 #######################################################################################
407 [flake8]
408 ignore =
409 W291,
410 W293,
411 W503,
412 W605,
413 E123,
414 E125,
415 E203,
416 E226,
417 E241
418 exclude =
419 .git,
420 __pycache__,
421 .tox,
422 max-line-length = 120
423 show-source = True
424 builtins = _