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
165 - flake8 integration
-tests
/
168 #######################################################################################
170 deps = {[testenv]deps}
171 -r
{toxinidir
}/requirements
-dev.txt
172 -r
{toxinidir
}/requirements
-test.txt
176 - pylint
-E NG
-RO
/osm_ng_ro
177 - pylint
-E RO
-plugin
/osm_ro_plugin
178 - pylint
-E RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
179 - pylint
-E RO
-SDN
-dpb
/osm_rosdn_dpb
180 - pylint
-E RO
-SDN
-dynpac
/osm_rosdn_dynpac
181 - pylint
-E RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
182 - pylint
-E RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
183 - pylint
-E RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
184 - pylint
-E RO
-SDN
-odl_openflow
/osm_rosdn_odlof
185 - pylint
-E RO
-SDN
-onos_openflow
/osm_rosdn_onosof
186 - pylint
-E RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
187 - pylint
-E RO
-VIM
-aws
/osm_rovim_aws
188 - pylint
-E RO
-VIM
-azure
/osm_rovim_azure
189 - pylint
-E RO
-VIM
-fos
/osm_rovim_fos
190 - pylint
-E RO
-VIM
-opennebula
/osm_rovim_opennebula
191 - pylint
-E RO
-VIM
-openstack
/osm_rovim_openstack
192 - pylint
-E RO
-VIM
-openvim
/osm_rovim_openvim
193 - pylint
-E RO
-VIM
-vmware
/osm_rovim_vmware
194 - pylint
-E RO
-VIM
-gcp
/osm_rovim_gcp
197 #######################################################################################
202 deps = {[testenv]deps}
206 - safety check
--full
-report
209 #######################################################################################
210 [testenv:pip-compile]
211 deps = pip-tools==5.5.0
214 - sh
-c
"for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
215 out=`echo $file | sed 's/.in/.txt/'` ; \
216 sed -i -e '1 e head -16 tox.ini' $out ;\
218 whitelist_externals = sh
221 #######################################################################################
223 deps = {[testenv]deps}
224 -r
{toxinidir
}/requirements
-dist.txt
226 changedir = {toxinidir}/NG-RO
228 sh
-c 'rm
-rf osm_ng_ro
/requirements.txt deb_dist dist osm_ng_ro.egg
-info osm_ng_ro
*.tar.gz'
229 sh
-c 'cp ..
/requirements.txt osm_ng_ro
/requirements.txt'
230 python3 setup.py --command-packages=stdeb.command sdist_dsc
231 sh
-c 'cd deb_dist
/osm
-ng
-ro
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
232 whitelist_externals = sh
234 #######################################################################################
235 [testenv:dist_ro_plugin]
236 deps = {[testenv]deps}
237 -r
{toxinidir
}/requirements
-dist.txt
239 changedir = {toxinidir}/RO-plugin
241 sh
-c 'rm
-rf deb_dist dist osm_ro_plugin.egg
-info osm_ro_plugin
*.tar.gz'
242 python3 setup.py --command-packages=stdeb.command sdist_dsc
243 sh
-c 'cd deb_dist
/osm
-ro
-plugin
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
244 whitelist_externals = sh
246 #######################################################################################
247 [testenv:dist_ro_sdn_arista_cloudvision]
248 deps = {[testenv]deps}
249 -r
{toxinidir
}/requirements
-dist.txt
251 changedir = {toxinidir}/RO-SDN-arista_cloudvision
253 sh
-c 'rm
-rf deb_dist dist osm_rosdn_arista_cloudvision.egg
-info osm_rosdn_arista_cloudvision
*.tar.gz'
254 python3 setup.py --command-packages=stdeb.command sdist_dsc
255 sh
-c 'cd deb_dist
/osm
-rosdn
-arista
-cloudvision
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
256 whitelist_externals = sh
258 #######################################################################################
259 [testenv:dist_ro_sdn_dpb]
260 deps = {[testenv]deps}
261 -r
{toxinidir
}/requirements
-dist.txt
263 changedir = {toxinidir}/RO-SDN-dpb
265 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dpb.egg
-info osm_rosdn_dpb
*.tar.gz'
266 python3 setup.py --command-packages=stdeb.command sdist_dsc
267 sh
-c 'cd deb_dist
/osm
-rosdn
-dpb
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
268 whitelist_externals = sh
270 #######################################################################################
271 [testenv:dist_ro_sdn_dynpac]
272 deps = {[testenv]deps}
273 -r
{toxinidir
}/requirements
-dist.txt
275 changedir = {toxinidir}/RO-SDN-dynpac
277 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dynpac.egg
-info osm_rosdn_dynpac
*.tar.gz'
278 python3 setup.py --command-packages=stdeb.command sdist_dsc
279 sh
-c 'cd deb_dist
/osm
-rosdn
-dynpac
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
280 whitelist_externals = sh
282 #######################################################################################
283 [testenv:dist_ro_sdn_floodlight_of]
284 deps = {[testenv]deps}
285 -r
{toxinidir
}/requirements
-dist.txt
287 changedir = {toxinidir}/RO-SDN-floodlight_openflow
289 sh
-c 'rm
-rf deb_dist dist osm_rosdn_floodlightof.egg
-info osm_rosdn_floodlightof
*.tar.gz'
290 python3 setup.py --command-packages=stdeb.command sdist_dsc
291 sh
-c 'cd deb_dist
/osm
-rosdn
-floodlightof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
292 whitelist_externals = sh
294 #######################################################################################
295 [testenv:dist_ro_sdn_ietfl2vpn]
296 deps = {[testenv]deps}
297 -r
{toxinidir
}/requirements
-dist.txt
299 changedir = {toxinidir}/RO-SDN-ietfl2vpn
301 sh
-c 'rm
-rf deb_dist dist osm_rosdn_ietfl2vpn.egg
-info osm_rosdn_ietfl2vpn
*.tar.gz'
302 python3 setup.py --command-packages=stdeb.command sdist_dsc
303 sh
-c 'cd deb_dist
/osm
-rosdn
-ietfl2vpn
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
304 whitelist_externals = sh
306 #######################################################################################
307 [testenv:dist_ro_sdn_juniper_contrail]
308 deps = {[testenv]deps}
309 -r
{toxinidir
}/requirements
-dist.txt
311 changedir = {toxinidir}/RO-SDN-juniper_contrail
313 sh
-c 'rm
-rf deb_dist dist osm_rosdn_juniper_contrail.egg
-info osm_rosdn_juniper_contrail
*.tar.gz'
314 python3 setup.py --command-packages=stdeb.command sdist_dsc
315 sh
-c 'cd deb_dist
/osm
-rosdn
-juniper
-contrail
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
316 whitelist_externals = sh
318 #######################################################################################
319 [testenv:dist_ro_sdn_odl_of]
320 deps = {[testenv]deps}
321 -r
{toxinidir
}/requirements
-dist.txt
323 changedir = {toxinidir}/RO-SDN-odl_openflow
325 sh
-c 'rm
-rf deb_dist dist osm_rosdn_odlof.egg
-info osm_rosdn_odlof
*.tar.gz'
326 python3 setup.py --command-packages=stdeb.command sdist_dsc
327 sh
-c 'cd deb_dist
/osm
-rosdn
-odlof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
328 whitelist_externals = sh
330 #######################################################################################
331 [testenv:dist_ro_sdn_onos_of]
332 deps = {[testenv]deps}
333 -r
{toxinidir
}/requirements
-dist.txt
335 changedir = {toxinidir}/RO-SDN-onos_openflow
337 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onosof.egg
-info osm_rosdn_onosof
*.tar.gz'
338 python3 setup.py --command-packages=stdeb.command sdist_dsc
339 sh
-c 'cd deb_dist
/osm
-rosdn
-onosof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
340 whitelist_externals = sh
342 #######################################################################################
343 [testenv:dist_ro_sdn_onos_vpls]
344 deps = {[testenv]deps}
345 -r
{toxinidir
}/requirements
-dist.txt
347 changedir = {toxinidir}/RO-SDN-onos_vpls
349 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onos_vpls.egg
-info osm_rosdn_onos_vpls
*.tar.gz'
350 python3 setup.py --command-packages=stdeb.command sdist_dsc
351 sh
-c 'cd deb_dist
/osm
-rosdn
-onos
-vpls
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
352 whitelist_externals = sh
354 #######################################################################################
355 [testenv:dist_ro_vim_aws]
356 deps = {[testenv]deps}
357 -r
{toxinidir
}/requirements
-dist.txt
359 changedir = {toxinidir}/RO-VIM-aws
361 sh
-c 'rm
-rf deb_dist dist osm_rovim_aws.egg
-info osm_rovim_aws
*.tar.gz'
362 python3 setup.py --command-packages=stdeb.command sdist_dsc
363 sh
-c 'cd deb_dist
/osm
-rovim
-aws
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
364 whitelist_externals = sh
366 #######################################################################################
367 [testenv:dist_ro_vim_azure]
368 deps = {[testenv]deps}
369 -r
{toxinidir
}/requirements
-dist.txt
371 changedir = {toxinidir}/RO-VIM-azure
373 sh
-c 'rm
-rf deb_dist dist osm_rovim_azure.egg
-info osm_rovim_azure
*.tar.gz'
374 python3 setup.py --command-packages=stdeb.command sdist_dsc
375 sh
-c 'cd deb_dist
/osm
-rovim
-azure
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
376 whitelist_externals = sh
378 #######################################################################################
379 [testenv:dist_ro_vim_fos]
380 deps = {[testenv]deps}
381 -r
{toxinidir
}/requirements
-dist.txt
383 changedir = {toxinidir}/RO-VIM-fos
385 sh
-c 'rm
-rf deb_dist dist osm_rovim_fos.egg
-info osm_rovim_fos
*.tar.gz'
386 python3 setup.py --command-packages=stdeb.command sdist_dsc
387 sh
-c 'cd deb_dist
/osm
-rovim
-fos
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
388 whitelist_externals = sh
390 #######################################################################################
391 [testenv:dist_ro_vim_opennebula]
392 deps = {[testenv]deps}
393 -r
{toxinidir
}/requirements
-dist.txt
395 changedir = {toxinidir}/RO-VIM-opennebula
397 sh
-c 'rm
-rf deb_dist dist osm_rovim_opennebula.egg
-info osm_rovim_opennebula
*.tar.gz'
398 python3 setup.py --command-packages=stdeb.command sdist_dsc
399 sh
-c 'cd deb_dist
/osm
-rovim
-opennebula
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
400 whitelist_externals = sh
402 #######################################################################################
403 [testenv:dist_ro_vim_openstack]
404 deps = {[testenv]deps}
405 -r
{toxinidir
}/requirements
-dist.txt
407 changedir = {toxinidir}/RO-VIM-openstack
409 sh
-c 'rm
-rf deb_dist dist osm_rovim_openstack.egg
-info osm_rovim_openstack
*.tar.gz'
410 python3 setup.py --command-packages=stdeb.command sdist_dsc
411 sh
-c 'cd deb_dist
/osm
-rovim
-openstack
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
412 whitelist_externals = sh
414 #######################################################################################
415 [testenv:dist_ro_vim_openvim]
416 deps = {[testenv]deps}
417 -r
{toxinidir
}/requirements
-dist.txt
419 changedir = {toxinidir}/RO-VIM-openvim
421 sh
-c 'rm
-rf deb_dist dist osm_rovim_openvim.egg
-info osm_rovim_openvim
*.tar.gz'
422 python3 setup.py --command-packages=stdeb.command sdist_dsc
423 sh
-c 'cd deb_dist
/osm
-rovim
-openvim
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
424 whitelist_externals = sh
426 #######################################################################################
427 [testenv:dist_ro_vim_vmware]
428 deps = {[testenv]deps}
429 -r
{toxinidir
}/requirements
-dist.txt
431 changedir = {toxinidir}/RO-VIM-vmware
433 sh
-c 'rm
-rf deb_dist dist osm_rovim_vmware.egg
-info osm_rovim_vmware
*.tar.gz'
434 python3 setup.py --command-packages=stdeb.command sdist_dsc
435 sh
-c 'cd deb_dist
/osm
-rovim
-vmware
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
436 whitelist_externals = sh
438 #######################################################################################
439 [testenv:dist_ro_vim_gcp]
440 deps = {[testenv]deps}
441 -r
{toxinidir
}/requirements
-dist.txt
443 changedir = {toxinidir}/RO-VIM-gcp
445 sh
-c 'rm
-rf deb_dist dist osm_rovim_gcp.egg
-info osm_rovim_gcp
*.tar.gz'
446 python3 setup.py --command-packages=stdeb.command sdist_dsc
447 sh
-c 'cd deb_dist
/osm
-rovim
-gcp
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
448 whitelist_externals = sh
451 #######################################################################################
467 max-line-length = 120