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