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, 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
-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
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
-openstack
/osm_rovim_openstack
-s RO
-VIM
-openstack
/osm_rovim_openstack
120 sh
-c 'mv .coverage .coverage_rovim_openstack'
122 - nose2
-C
--coverage RO
-VIM
-openvim
/osm_rovim_openvim
123 sh
-c 'mv .coverage .coverage_rovim_openvim'
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'
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
138 #######################################################################################
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
/
164 #######################################################################################
166 deps = {[testenv]deps}
167 -r
{toxinidir
}/requirements
-dev.txt
168 -r
{toxinidir
}/requirements
-test.txt
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
192 #######################################################################################
197 deps = {[testenv]deps}
201 - safety check
--full
-report
204 #######################################################################################
205 [testenv:pip-compile]
206 deps = pip-tools==5.5.0
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 ;\
213 whitelist_externals = sh
216 #######################################################################################
218 deps = {[testenv]deps}
219 -r
{toxinidir
}/requirements
-dist.txt
221 changedir = {toxinidir}/NG-RO
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
229 #######################################################################################
230 [testenv:dist_ro_plugin]
231 deps = {[testenv]deps}
232 -r
{toxinidir
}/requirements
-dist.txt
234 changedir = {toxinidir}/RO-plugin
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
241 #######################################################################################
242 [testenv:dist_ro_sdn_arista_cloudvision]
243 deps = {[testenv]deps}
244 -r
{toxinidir
}/requirements
-dist.txt
246 changedir = {toxinidir}/RO-SDN-arista_cloudvision
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
253 #######################################################################################
254 [testenv:dist_ro_sdn_dpb]
255 deps = {[testenv]deps}
256 -r
{toxinidir
}/requirements
-dist.txt
258 changedir = {toxinidir}/RO-SDN-dpb
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
265 #######################################################################################
266 [testenv:dist_ro_sdn_dynpac]
267 deps = {[testenv]deps}
268 -r
{toxinidir
}/requirements
-dist.txt
270 changedir = {toxinidir}/RO-SDN-dynpac
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
277 #######################################################################################
278 [testenv:dist_ro_sdn_floodlight_of]
279 deps = {[testenv]deps}
280 -r
{toxinidir
}/requirements
-dist.txt
282 changedir = {toxinidir}/RO-SDN-floodlight_openflow
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
289 #######################################################################################
290 [testenv:dist_ro_sdn_ietfl2vpn]
291 deps = {[testenv]deps}
292 -r
{toxinidir
}/requirements
-dist.txt
294 changedir = {toxinidir}/RO-SDN-ietfl2vpn
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
301 #######################################################################################
302 [testenv:dist_ro_sdn_juniper_contrail]
303 deps = {[testenv]deps}
304 -r
{toxinidir
}/requirements
-dist.txt
306 changedir = {toxinidir}/RO-SDN-juniper_contrail
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
313 #######################################################################################
314 [testenv:dist_ro_sdn_odl_of]
315 deps = {[testenv]deps}
316 -r
{toxinidir
}/requirements
-dist.txt
318 changedir = {toxinidir}/RO-SDN-odl_openflow
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
325 #######################################################################################
326 [testenv:dist_ro_sdn_onos_of]
327 deps = {[testenv]deps}
328 -r
{toxinidir
}/requirements
-dist.txt
330 changedir = {toxinidir}/RO-SDN-onos_openflow
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
337 #######################################################################################
338 [testenv:dist_ro_sdn_onos_vpls]
339 deps = {[testenv]deps}
340 -r
{toxinidir
}/requirements
-dist.txt
342 changedir = {toxinidir}/RO-SDN-onos_vpls
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
349 #######################################################################################
350 [testenv:dist_ro_vim_aws]
351 deps = {[testenv]deps}
352 -r
{toxinidir
}/requirements
-dist.txt
354 changedir = {toxinidir}/RO-VIM-aws
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
361 #######################################################################################
362 [testenv:dist_ro_vim_azure]
363 deps = {[testenv]deps}
364 -r
{toxinidir
}/requirements
-dist.txt
366 changedir = {toxinidir}/RO-VIM-azure
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
373 #######################################################################################
374 [testenv:dist_ro_vim_fos]
375 deps = {[testenv]deps}
376 -r
{toxinidir
}/requirements
-dist.txt
378 changedir = {toxinidir}/RO-VIM-fos
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
386 #######################################################################################
387 [testenv:dist_ro_vim_openstack]
388 deps = {[testenv]deps}
389 -r
{toxinidir
}/requirements
-dist.txt
391 changedir = {toxinidir}/RO-VIM-openstack
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
398 #######################################################################################
399 [testenv:dist_ro_vim_openvim]
400 deps = {[testenv]deps}
401 -r
{toxinidir
}/requirements
-dist.txt
403 changedir = {toxinidir}/RO-VIM-openvim
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
410 #######################################################################################
411 [testenv:dist_ro_vim_vmware]
412 deps = {[testenv]deps}
413 -r
{toxinidir
}/requirements
-dist.txt
415 changedir = {toxinidir}/RO-VIM-vmware
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
422 #######################################################################################
423 [testenv:dist_ro_vim_gcp]
424 deps = {[testenv]deps}
425 -r
{toxinidir
}/requirements
-dist.txt
427 changedir = {toxinidir}/RO-VIM-gcp
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
435 #######################################################################################
451 max-line-length = 120