1 #######################################################################################
2 # Copyright ETSI Contributors and Others.
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
8 # http://www.apache.org/licenses/LICENSE-2.0
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
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #######################################################################################
19 envlist = black, flake8, pylint, safety
22 toxworkdir = /tmp/.tox
27 setenv = VIRTUAL_ENV={envdir}
28 PYTHONDONTWRITEBYTECODE = 1
29 deps = -r{toxinidir}/requirements.txt
30 parallel_show_output = true
33 #######################################################################################
34 [testenv:release_notes]
38 reno new
{posargs
:new_feature
}
41 #######################################################################################
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
-opennebula
61 - black
--check
--diff RO
-VIM
-openstack
62 - black
--check
--diff RO
-VIM
-openvim
63 - black
--check
--diff RO
-VIM
-vmware
64 - black
--check
--diff RO
-VIM
-gcp
67 #######################################################################################
69 deps = {[testenv]deps}
70 -r
{toxinidir
}/requirements
-dev.txt
71 -r
{toxinidir
}/requirements
-test.txt
74 sh
-c 'rm
-f nosetests.xml'
77 - nose2
-C
--coverage NG
-RO
/osm_ng_ro
78 sh
-c 'mv .coverage .coverage_ng_ro'
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'
86 - nose2
-C
--coverage RO
-SDN
-dpb
/osm_rosdn_dpb
87 sh
-c 'mv .coverage .coverage_rosdn_dpb'
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'
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'
107 - nose2
-C
--coverage RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
108 sh
-c 'mv .coverage .coverage_rosdn_onos_vpls'
110 - nose2
-C
--coverage RO
-VIM
-aws
/osm_rovim_aws
111 sh
-c 'mv .coverage .coverage_rovim_aws'
113 - nose2
-C
--coverage RO
-VIM
-azure
/osm_rovim_azure
114 sh
-c 'mv .coverage .coverage_rovim_azure'
116 - nose2
-C
--coverage RO
-VIM
-fos
/osm_rovim_fos
117 sh
-c 'mv .coverage .coverage_rovim_fos'
119 - nose2
-C
--coverage RO
-VIM
-opennebula
/osm_rovim_opennebula
120 sh
-c 'mv .coverage .coverage_rovim_opennebula'
122 - nose2
-C
--coverage RO
-VIM
-openstack
/osm_rovim_openstack
-s RO
-VIM
-openstack
/osm_rovim_openstack
123 sh
-c 'mv .coverage .coverage_rovim_openstack'
125 - nose2
-C
--coverage RO
-VIM
-openvim
/osm_rovim_openvim
126 sh
-c 'mv .coverage .coverage_rovim_openvim'
128 - nose2
-C
--coverage RO
-VIM
-vmware
/osm_rovim_vmware
-s RO
-VIM
-vmware
/osm_rovim_vmware
129 sh
-c 'mv .coverage .coverage_rovim_vmware'
131 - nose2
-C
--coverage RO
-VIM
-gcp
/osm_rovim_gcp
132 sh
-c 'mv .coverage .coverage_rovim_gcp'
133 # Combine results and generate reports
134 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_opennebula .coverage_rovim_openstack .coverage_rovim_openvim .coverage_rovim_vmware .coverage_rovim_gcp
135 coverage report --omit='*tests*'
136 coverage html -d ./cover --omit='*tests*'
137 coverage xml -o coverage.xml --omit='*tests*'
138 whitelist_externals = sh
141 #######################################################################################
146 - flake8 NG
-RO
/osm_ng_ro
/ NG
-RO
/setup.py
147 - flake8 RO
-plugin
/osm_ro_plugin
/ RO
-plugin
/setup.py
148 - flake8 RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
/ RO
-SDN
-arista_cloudvision
/setup.py
149 - flake8 RO
-SDN
-dpb
/osm_rosdn_dpb
/ RO
-SDN
-dpb
/setup.py
150 - flake8 RO
-SDN
-dynpac
/osm_rosdn_dynpac
/ RO
-SDN
-dynpac
/setup.py
151 - flake8 RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
/ RO
-SDN
-floodlight_openflow
/setup.py
152 - flake8 RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
/ RO
-SDN
-ietfl2vpn
/setup.py
153 - flake8 RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
/ RO
-SDN
-juniper_contrail
/setup.py
154 - flake8 RO
-SDN
-odl_openflow
/osm_rosdn_odlof
/ RO
-SDN
-odl_openflow
/setup.py
155 - flake8 RO
-SDN
-onos_openflow
/osm_rosdn_onosof
/ RO
-SDN
-onos_openflow
/setup.py
156 - flake8 RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
/ RO
-SDN
-onos_vpls
/setup.py
157 - flake8 RO
-VIM
-aws
/osm_rovim_aws
/ RO
-VIM
-aws
/setup.py
158 - flake8 RO
-VIM
-azure
/osm_rovim_azure
/ RO
-VIM
-azure
/setup.py
159 - flake8 RO
-VIM
-fos
/osm_rovim_fos
/ RO
-VIM
-fos
/setup.py
160 - flake8 RO
-VIM
-opennebula
/osm_rovim_opennebula
/ RO
-VIM
-opennebula
/setup.py
161 - flake8 RO
-VIM
-openstack
/osm_rovim_openstack
/ RO
-VIM
-openstack
/setup.py
162 - flake8 RO
-VIM
-openvim
/osm_rovim_openvim
/ RO
-VIM
-openvim
/setup.py
163 - 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
164 - flake8 RO
-VIM
-gcp
/osm_rovim_gcp
/ RO
-VIM
-gcp
/setup.py
167 #######################################################################################
169 deps = {[testenv]deps}
170 -r
{toxinidir
}/requirements
-dev.txt
171 -r
{toxinidir
}/requirements
-test.txt
175 - pylint
-E NG
-RO
/osm_ng_ro
176 - pylint
-E RO
-plugin
/osm_ro_plugin
177 - pylint
-E RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
178 - pylint
-E RO
-SDN
-dpb
/osm_rosdn_dpb
179 - pylint
-E RO
-SDN
-dynpac
/osm_rosdn_dynpac
180 - pylint
-E RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
181 - pylint
-E RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
182 - pylint
-E RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
183 - pylint
-E RO
-SDN
-odl_openflow
/osm_rosdn_odlof
184 - pylint
-E RO
-SDN
-onos_openflow
/osm_rosdn_onosof
185 - pylint
-E RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
186 - pylint
-E RO
-VIM
-aws
/osm_rovim_aws
187 - pylint
-E RO
-VIM
-azure
/osm_rovim_azure
188 - pylint
-E RO
-VIM
-fos
/osm_rovim_fos
189 - pylint
-E RO
-VIM
-opennebula
/osm_rovim_opennebula
190 - pylint
-E RO
-VIM
-openstack
/osm_rovim_openstack
191 - pylint
-E RO
-VIM
-openvim
/osm_rovim_openvim
192 - pylint
-E RO
-VIM
-vmware
/osm_rovim_vmware
193 - pylint
-E RO
-VIM
-gcp
/osm_rovim_gcp
196 #######################################################################################
201 deps = {[testenv]deps}
205 - safety check
--full
-report
208 #######################################################################################
209 [testenv:pip-compile]
210 deps = pip-tools==5.5.0
213 - sh
-c
"for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
214 out=`echo $file | sed 's/.in/.txt/'` ; \
215 sed -i -e '1 e head -16 tox.ini' $out ;\
217 whitelist_externals = sh
220 #######################################################################################
222 deps = {[testenv]deps}
223 -r
{toxinidir
}/requirements
-dist.txt
225 changedir = {toxinidir}/NG-RO
227 sh
-c 'rm
-rf osm_ng_ro
/requirements.txt deb_dist dist osm_ng_ro.egg
-info osm_ng_ro
*.tar.gz'
228 sh
-c 'cp ..
/requirements.txt osm_ng_ro
/requirements.txt'
229 python3 setup.py --command-packages=stdeb.command sdist_dsc
230 sh
-c 'cd deb_dist
/osm
-ng
-ro
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
231 whitelist_externals = sh
233 #######################################################################################
234 [testenv:dist_ro_plugin]
235 deps = {[testenv]deps}
236 -r
{toxinidir
}/requirements
-dist.txt
238 changedir = {toxinidir}/RO-plugin
240 sh
-c 'rm
-rf deb_dist dist osm_ro_plugin.egg
-info osm_ro_plugin
*.tar.gz'
241 python3 setup.py --command-packages=stdeb.command sdist_dsc
242 sh
-c 'cd deb_dist
/osm
-ro
-plugin
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
243 whitelist_externals = sh
245 #######################################################################################
246 [testenv:dist_ro_sdn_arista_cloudvision]
247 deps = {[testenv]deps}
248 -r
{toxinidir
}/requirements
-dist.txt
250 changedir = {toxinidir}/RO-SDN-arista_cloudvision
252 sh
-c 'rm
-rf deb_dist dist osm_rosdn_arista_cloudvision.egg
-info osm_rosdn_arista_cloudvision
*.tar.gz'
253 python3 setup.py --command-packages=stdeb.command sdist_dsc
254 sh
-c 'cd deb_dist
/osm
-rosdn
-arista
-cloudvision
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
255 whitelist_externals = sh
257 #######################################################################################
258 [testenv:dist_ro_sdn_dpb]
259 deps = {[testenv]deps}
260 -r
{toxinidir
}/requirements
-dist.txt
262 changedir = {toxinidir}/RO-SDN-dpb
264 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dpb.egg
-info osm_rosdn_dpb
*.tar.gz'
265 python3 setup.py --command-packages=stdeb.command sdist_dsc
266 sh
-c 'cd deb_dist
/osm
-rosdn
-dpb
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
267 whitelist_externals = sh
269 #######################################################################################
270 [testenv:dist_ro_sdn_dynpac]
271 deps = {[testenv]deps}
272 -r
{toxinidir
}/requirements
-dist.txt
274 changedir = {toxinidir}/RO-SDN-dynpac
276 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dynpac.egg
-info osm_rosdn_dynpac
*.tar.gz'
277 python3 setup.py --command-packages=stdeb.command sdist_dsc
278 sh
-c 'cd deb_dist
/osm
-rosdn
-dynpac
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
279 whitelist_externals = sh
281 #######################################################################################
282 [testenv:dist_ro_sdn_floodlight_of]
283 deps = {[testenv]deps}
284 -r
{toxinidir
}/requirements
-dist.txt
286 changedir = {toxinidir}/RO-SDN-floodlight_openflow
288 sh
-c 'rm
-rf deb_dist dist osm_rosdn_floodlightof.egg
-info osm_rosdn_floodlightof
*.tar.gz'
289 python3 setup.py --command-packages=stdeb.command sdist_dsc
290 sh
-c 'cd deb_dist
/osm
-rosdn
-floodlightof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
291 whitelist_externals = sh
293 #######################################################################################
294 [testenv:dist_ro_sdn_ietfl2vpn]
295 deps = {[testenv]deps}
296 -r
{toxinidir
}/requirements
-dist.txt
298 changedir = {toxinidir}/RO-SDN-ietfl2vpn
300 sh
-c 'rm
-rf deb_dist dist osm_rosdn_ietfl2vpn.egg
-info osm_rosdn_ietfl2vpn
*.tar.gz'
301 python3 setup.py --command-packages=stdeb.command sdist_dsc
302 sh
-c 'cd deb_dist
/osm
-rosdn
-ietfl2vpn
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
303 whitelist_externals = sh
305 #######################################################################################
306 [testenv:dist_ro_sdn_juniper_contrail]
307 deps = {[testenv]deps}
308 -r
{toxinidir
}/requirements
-dist.txt
310 changedir = {toxinidir}/RO-SDN-juniper_contrail
312 sh
-c 'rm
-rf deb_dist dist osm_rosdn_juniper_contrail.egg
-info osm_rosdn_juniper_contrail
*.tar.gz'
313 python3 setup.py --command-packages=stdeb.command sdist_dsc
314 sh
-c 'cd deb_dist
/osm
-rosdn
-juniper
-contrail
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
315 whitelist_externals = sh
317 #######################################################################################
318 [testenv:dist_ro_sdn_odl_of]
319 deps = {[testenv]deps}
320 -r
{toxinidir
}/requirements
-dist.txt
322 changedir = {toxinidir}/RO-SDN-odl_openflow
324 sh
-c 'rm
-rf deb_dist dist osm_rosdn_odlof.egg
-info osm_rosdn_odlof
*.tar.gz'
325 python3 setup.py --command-packages=stdeb.command sdist_dsc
326 sh
-c 'cd deb_dist
/osm
-rosdn
-odlof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
327 whitelist_externals = sh
329 #######################################################################################
330 [testenv:dist_ro_sdn_onos_of]
331 deps = {[testenv]deps}
332 -r
{toxinidir
}/requirements
-dist.txt
334 changedir = {toxinidir}/RO-SDN-onos_openflow
336 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onosof.egg
-info osm_rosdn_onosof
*.tar.gz'
337 python3 setup.py --command-packages=stdeb.command sdist_dsc
338 sh
-c 'cd deb_dist
/osm
-rosdn
-onosof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
339 whitelist_externals = sh
341 #######################################################################################
342 [testenv:dist_ro_sdn_onos_vpls]
343 deps = {[testenv]deps}
344 -r
{toxinidir
}/requirements
-dist.txt
346 changedir = {toxinidir}/RO-SDN-onos_vpls
348 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onos_vpls.egg
-info osm_rosdn_onos_vpls
*.tar.gz'
349 python3 setup.py --command-packages=stdeb.command sdist_dsc
350 sh
-c 'cd deb_dist
/osm
-rosdn
-onos
-vpls
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
351 whitelist_externals = sh
353 #######################################################################################
354 [testenv:dist_ro_vim_aws]
355 deps = {[testenv]deps}
356 -r
{toxinidir
}/requirements
-dist.txt
358 changedir = {toxinidir}/RO-VIM-aws
360 sh
-c 'rm
-rf deb_dist dist osm_rovim_aws.egg
-info osm_rovim_aws
*.tar.gz'
361 python3 setup.py --command-packages=stdeb.command sdist_dsc
362 sh
-c 'cd deb_dist
/osm
-rovim
-aws
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
363 whitelist_externals = sh
365 #######################################################################################
366 [testenv:dist_ro_vim_azure]
367 deps = {[testenv]deps}
368 -r
{toxinidir
}/requirements
-dist.txt
370 changedir = {toxinidir}/RO-VIM-azure
372 sh
-c 'rm
-rf deb_dist dist osm_rovim_azure.egg
-info osm_rovim_azure
*.tar.gz'
373 python3 setup.py --command-packages=stdeb.command sdist_dsc
374 sh
-c 'cd deb_dist
/osm
-rovim
-azure
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
375 whitelist_externals = sh
377 #######################################################################################
378 [testenv:dist_ro_vim_fos]
379 deps = {[testenv]deps}
380 -r
{toxinidir
}/requirements
-dist.txt
382 changedir = {toxinidir}/RO-VIM-fos
384 sh
-c 'rm
-rf deb_dist dist osm_rovim_fos.egg
-info osm_rovim_fos
*.tar.gz'
385 python3 setup.py --command-packages=stdeb.command sdist_dsc
386 sh
-c 'cd deb_dist
/osm
-rovim
-fos
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
387 whitelist_externals = sh
389 #######################################################################################
390 [testenv:dist_ro_vim_opennebula]
391 deps = {[testenv]deps}
392 -r
{toxinidir
}/requirements
-dist.txt
394 changedir = {toxinidir}/RO-VIM-opennebula
396 sh
-c 'rm
-rf deb_dist dist osm_rovim_opennebula.egg
-info osm_rovim_opennebula
*.tar.gz'
397 python3 setup.py --command-packages=stdeb.command sdist_dsc
398 sh
-c 'cd deb_dist
/osm
-rovim
-opennebula
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
399 whitelist_externals = sh
401 #######################################################################################
402 [testenv:dist_ro_vim_openstack]
403 deps = {[testenv]deps}
404 -r
{toxinidir
}/requirements
-dist.txt
406 changedir = {toxinidir}/RO-VIM-openstack
408 sh
-c 'rm
-rf deb_dist dist osm_rovim_openstack.egg
-info osm_rovim_openstack
*.tar.gz'
409 python3 setup.py --command-packages=stdeb.command sdist_dsc
410 sh
-c 'cd deb_dist
/osm
-rovim
-openstack
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
411 whitelist_externals = sh
413 #######################################################################################
414 [testenv:dist_ro_vim_openvim]
415 deps = {[testenv]deps}
416 -r
{toxinidir
}/requirements
-dist.txt
418 changedir = {toxinidir}/RO-VIM-openvim
420 sh
-c 'rm
-rf deb_dist dist osm_rovim_openvim.egg
-info osm_rovim_openvim
*.tar.gz'
421 python3 setup.py --command-packages=stdeb.command sdist_dsc
422 sh
-c 'cd deb_dist
/osm
-rovim
-openvim
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
423 whitelist_externals = sh
425 #######################################################################################
426 [testenv:dist_ro_vim_vmware]
427 deps = {[testenv]deps}
428 -r
{toxinidir
}/requirements
-dist.txt
430 changedir = {toxinidir}/RO-VIM-vmware
432 sh
-c 'rm
-rf deb_dist dist osm_rovim_vmware.egg
-info osm_rovim_vmware
*.tar.gz'
433 python3 setup.py --command-packages=stdeb.command sdist_dsc
434 sh
-c 'cd deb_dist
/osm
-rovim
-vmware
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
435 whitelist_externals = sh
437 #######################################################################################
438 [testenv:dist_ro_vim_gcp]
439 deps = {[testenv]deps}
440 -r
{toxinidir
}/requirements
-dist.txt
442 changedir = {toxinidir}/RO-VIM-gcp
444 sh
-c 'rm
-rf deb_dist dist osm_rovim_gcp.egg
-info osm_rovim_gcp
*.tar.gz'
445 python3 setup.py --command-packages=stdeb.command sdist_dsc
446 sh
-c 'cd deb_dist
/osm
-rovim
-gcp
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
447 whitelist_externals = sh
450 #######################################################################################
466 max-line-length = 120