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]
37 whitelist_externals = bash
39 reno new
{posargs
:new_feature
}
40 bash
-c
"sed -i -e '1 e head -16 tox.ini' releasenotes/notes/{posargs:new_feature}*.yaml"
43 #######################################################################################
48 black
--check
--diff NG
-RO
49 black
--check
--diff RO
-plugin
50 black
--check
--diff RO
-SDN
-arista_cloudvision
51 black
--check
--diff RO
-SDN
-dpb
52 black
--check
--diff RO
-SDN
-dynpac
53 black
--check
--diff RO
-SDN
-floodlight_openflow
54 black
--check
--diff RO
-SDN
-ietfl2vpn
55 black
--check
--diff RO
-SDN
-juniper_contrail
56 black
--check
--diff RO
-SDN
-odl_openflow
57 black
--check
--diff RO
-SDN
-onos_openflow
58 black
--check
--diff RO
-SDN
-onos_vpls
59 black
--check
--diff RO
-VIM
-aws
60 black
--check
--diff RO
-VIM
-azure
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
65 black
--check
--diff integration
-tests
68 #######################################################################################
70 deps = {[testenv]deps}
71 -r
{toxinidir
}/requirements
-dev.txt
72 -r
{toxinidir
}/requirements
-test.txt
74 whitelist_externals = sh
76 sh
-c 'rm
-f nosetests.xml'
79 nose2
-C
--coverage NG
-RO
/osm_ng_ro
-s NG
-RO
/osm_ng_ro
80 sh
-c 'mv .coverage .coverage_ng_ro'
82 nose2
-C
--coverage RO
-plugin
/osm_ro_plugin
-s RO
-plugin
/osm_ro_plugin
83 sh
-c 'mv .coverage .coverage_ro_plugin'
84 # RO-SDN-arista_cloudvision
85 nose2
-C
--coverage RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
-s RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
86 sh
-c 'mv .coverage .coverage_rosdn_arista_cloudvision'
88 nose2
-C
--coverage RO
-SDN
-dpb
/osm_rosdn_dpb
-s RO
-SDN
-dpb
/osm_rosdn_dpb
89 sh
-c 'mv .coverage .coverage_rosdn_dpb'
91 nose2
-C
--coverage RO
-SDN
-dynpac
/osm_rosdn_dynpac
-s RO
-SDN
-dynpac
/osm_rosdn_dynpac
92 sh
-c 'mv .coverage .coverage_rosdn_dynpac'
93 # RO-SDN-floodlight_openflow
94 nose2
-C
--coverage RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
-s RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
95 sh
-c 'mv .coverage .coverage_rosdn_floodlightof'
97 nose2
-C
--coverage RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
-s RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
98 sh
-c 'mv .coverage .coverage_rosdn_ietfl2vpn'
99 # RO-SDN-juniper_contrail
100 nose2
-C
--coverage RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
-s RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
101 sh
-c 'mv .coverage .coverage_rosdn_juniper_contrail'
102 # RO-SDN-odl_openflow
103 nose2
-C
--coverage RO
-SDN
-odl_openflow
/osm_rosdn_odlof
-s RO
-SDN
-odl_openflow
/osm_rosdn_odlof
104 sh
-c 'mv .coverage .coverage_rosdn_odlof'
105 # RO-SDN-onos_openflow
106 nose2
-C
--coverage RO
-SDN
-onos_openflow
/osm_rosdn_onosof
-s RO
-SDN
-onos_openflow
/osm_rosdn_onosof
107 sh
-c 'mv .coverage .coverage_rosdn_onosof'
109 nose2
-C
--coverage RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
-s RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
110 sh
-c 'mv .coverage .coverage_rosdn_onos_vpls'
112 nose2
-C
--coverage RO
-VIM
-aws
/osm_rovim_aws
-s RO
-VIM
-aws
/osm_rovim_aws
113 sh
-c 'mv .coverage .coverage_rovim_aws'
115 nose2
-C
--coverage RO
-VIM
-azure
/osm_rovim_azure
-s RO
-VIM
-azure
/osm_rovim_azure
116 sh
-c 'mv .coverage .coverage_rovim_azure'
118 # nose2 -C --coverage RO-VIM-openstack/osm_rovim_openstack -s RO-VIM-openstack/osm_rovim_openstack
119 # sh -c 'mv .coverage .coverage_rovim_openstack'
121 nose2
-C
--coverage RO
-VIM
-openvim
/osm_rovim_openvim
-s RO
-VIM
-openvim
/osm_rovim_openvim
122 sh
-c 'mv .coverage .coverage_rovim_openvim'
124 # nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
125 # sh -c 'mv .coverage .coverage_rovim_vmware'
127 nose2
-C
--coverage RO
-VIM
-gcp
/osm_rovim_gcp
-s RO
-VIM
-gcp
/osm_rovim_gcp
128 sh
-c 'mv .coverage .coverage_rovim_gcp'
129 # Combine results and generate reports
130 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_gcp # .coverage_rovim_openstack .coverage_rovim_vmware
131 coverage report --omit='*tests*'
132 coverage html -d ./cover --omit='*tests*'
133 coverage xml -o coverage.xml --omit='*tests*'
135 #######################################################################################
141 flake8 NG
-RO
/osm_ng_ro
/ NG
-RO
/setup.py
142 flake8 RO
-plugin
/osm_ro_plugin
/ RO
-plugin
/setup.py
143 flake8 RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
/ RO
-SDN
-arista_cloudvision
/setup.py
144 flake8 RO
-SDN
-dpb
/osm_rosdn_dpb
/ RO
-SDN
-dpb
/setup.py
145 flake8 RO
-SDN
-dynpac
/osm_rosdn_dynpac
/ RO
-SDN
-dynpac
/setup.py
146 flake8 RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
/ RO
-SDN
-floodlight_openflow
/setup.py
147 flake8 RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
/ RO
-SDN
-ietfl2vpn
/setup.py
148 flake8 RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
/ RO
-SDN
-juniper_contrail
/setup.py
149 flake8 RO
-SDN
-odl_openflow
/osm_rosdn_odlof
/ RO
-SDN
-odl_openflow
/setup.py
150 flake8 RO
-SDN
-onos_openflow
/osm_rosdn_onosof
/ RO
-SDN
-onos_openflow
/setup.py
151 flake8 RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
/ RO
-SDN
-onos_vpls
/setup.py
152 flake8 RO
-VIM
-aws
/osm_rovim_aws
/ RO
-VIM
-aws
/setup.py
153 flake8 RO
-VIM
-azure
/osm_rovim_azure
/ RO
-VIM
-azure
/setup.py
154 flake8 RO
-VIM
-openstack
/osm_rovim_openstack
/ RO
-VIM
-openstack
/setup.py
155 flake8 RO
-VIM
-openvim
/osm_rovim_openvim
/ RO
-VIM
-openvim
/setup.py
156 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
157 flake8 RO
-VIM
-gcp
/osm_rovim_gcp
/ RO
-VIM
-gcp
/setup.py
158 flake8 integration
-tests
/
161 #######################################################################################
163 deps = {[testenv]deps}
164 -r
{toxinidir
}/requirements
-dev.txt
165 -r
{toxinidir
}/requirements
-test.txt
169 - pylint
-E NG
-RO
/osm_ng_ro
170 - pylint
-E RO
-plugin
/osm_ro_plugin
171 - pylint
-E RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
172 - pylint
-E RO
-SDN
-dpb
/osm_rosdn_dpb
173 - pylint
-E RO
-SDN
-dynpac
/osm_rosdn_dynpac
174 - pylint
-E RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
175 - pylint
-E RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
176 - pylint
-E RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
177 - pylint
-E RO
-SDN
-odl_openflow
/osm_rosdn_odlof
178 - pylint
-E RO
-SDN
-onos_openflow
/osm_rosdn_onosof
179 - pylint
-E RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
180 - pylint
-E RO
-VIM
-aws
/osm_rovim_aws
181 - pylint
-E RO
-VIM
-azure
/osm_rovim_azure
182 - pylint
-E RO
-VIM
-openstack
/osm_rovim_openstack
183 - pylint
-E RO
-VIM
-openvim
/osm_rovim_openvim
184 - pylint
-E RO
-VIM
-vmware
/osm_rovim_vmware
185 - pylint
-E RO
-VIM
-gcp
/osm_rovim_gcp
188 #######################################################################################
193 deps = {[testenv]deps}
197 - safety check
--full
-report
200 #######################################################################################
201 [testenv:pip-compile]
202 deps = pip-tools==6.4.0
204 whitelist_externals = bash
207 - bash
-c
"for file in requirements*.in ; do \
209 if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
210 pip-compile -rU --no-header $UNSAFE $file ;\
211 out=`echo $file | sed 's/.in/.txt/'` ; \
212 sed -i -e '1 e head -16 tox.ini' $out ;\
214 - bash
-c
"sed -i 's/.*RO-plugin/-e RO-plugin/g' requirements-test.txt"
217 #######################################################################################
219 deps = {[testenv]deps}
220 -r
{toxinidir
}/requirements
-dist.txt
222 whitelist_externals = sh
223 changedir = {toxinidir}/NG-RO
225 sh
-c 'rm
-rf osm_ng_ro
/requirements.txt deb_dist dist osm_ng_ro.egg
-info osm_ng_ro
*.tar.gz'
226 sh
-c 'cp ..
/requirements.txt osm_ng_ro
/requirements.txt'
227 python3 setup.py --command-packages=stdeb.command sdist_dsc
228 sh
-c 'cd deb_dist
/osm
-ng
-ro
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
231 #######################################################################################
232 [testenv:dist_ro_plugin]
233 deps = {[testenv]deps}
234 -r
{toxinidir
}/requirements
-dist.txt
236 whitelist_externals = sh
237 changedir = {toxinidir}/RO-plugin
239 sh
-c 'rm
-rf deb_dist dist osm_ro_plugin.egg
-info osm_ro_plugin
*.tar.gz'
240 python3 setup.py --command-packages=stdeb.command sdist_dsc
241 sh
-c 'cd deb_dist
/osm
-ro
-plugin
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
244 #######################################################################################
245 [testenv:dist_ro_sdn_arista_cloudvision]
246 deps = {[testenv]deps}
247 -r
{toxinidir
}/requirements
-dist.txt
249 whitelist_externals = sh
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'
257 #######################################################################################
258 [testenv:dist_ro_sdn_dpb]
259 deps = {[testenv]deps}
260 -r
{toxinidir
}/requirements
-dist.txt
262 whitelist_externals = sh
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'
270 #######################################################################################
271 [testenv:dist_ro_sdn_dynpac]
272 deps = {[testenv]deps}
273 -r
{toxinidir
}/requirements
-dist.txt
275 whitelist_externals = sh
276 changedir = {toxinidir}/RO-SDN-dynpac
278 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dynpac.egg
-info osm_rosdn_dynpac
*.tar.gz'
279 python3 setup.py --command-packages=stdeb.command sdist_dsc
280 sh
-c 'cd deb_dist
/osm
-rosdn
-dynpac
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
283 #######################################################################################
284 [testenv:dist_ro_sdn_floodlight_of]
285 deps = {[testenv]deps}
286 -r
{toxinidir
}/requirements
-dist.txt
288 whitelist_externals = sh
289 changedir = {toxinidir}/RO-SDN-floodlight_openflow
291 sh
-c 'rm
-rf deb_dist dist osm_rosdn_floodlightof.egg
-info osm_rosdn_floodlightof
*.tar.gz'
292 python3 setup.py --command-packages=stdeb.command sdist_dsc
293 sh
-c 'cd deb_dist
/osm
-rosdn
-floodlightof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
296 #######################################################################################
297 [testenv:dist_ro_sdn_ietfl2vpn]
298 deps = {[testenv]deps}
299 -r
{toxinidir
}/requirements
-dist.txt
301 whitelist_externals = sh
302 changedir = {toxinidir}/RO-SDN-ietfl2vpn
304 sh
-c 'rm
-rf deb_dist dist osm_rosdn_ietfl2vpn.egg
-info osm_rosdn_ietfl2vpn
*.tar.gz'
305 python3 setup.py --command-packages=stdeb.command sdist_dsc
306 sh
-c 'cd deb_dist
/osm
-rosdn
-ietfl2vpn
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
309 #######################################################################################
310 [testenv:dist_ro_sdn_juniper_contrail]
311 deps = {[testenv]deps}
312 -r
{toxinidir
}/requirements
-dist.txt
314 whitelist_externals = sh
315 changedir = {toxinidir}/RO-SDN-juniper_contrail
317 sh
-c 'rm
-rf deb_dist dist osm_rosdn_juniper_contrail.egg
-info osm_rosdn_juniper_contrail
*.tar.gz'
318 python3 setup.py --command-packages=stdeb.command sdist_dsc
319 sh
-c 'cd deb_dist
/osm
-rosdn
-juniper
-contrail
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
322 #######################################################################################
323 [testenv:dist_ro_sdn_odl_of]
324 deps = {[testenv]deps}
325 -r
{toxinidir
}/requirements
-dist.txt
327 whitelist_externals = sh
328 changedir = {toxinidir}/RO-SDN-odl_openflow
330 sh
-c 'rm
-rf deb_dist dist osm_rosdn_odlof.egg
-info osm_rosdn_odlof
*.tar.gz'
331 python3 setup.py --command-packages=stdeb.command sdist_dsc
332 sh
-c 'cd deb_dist
/osm
-rosdn
-odlof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
335 #######################################################################################
336 [testenv:dist_ro_sdn_onos_of]
337 deps = {[testenv]deps}
338 -r
{toxinidir
}/requirements
-dist.txt
340 whitelist_externals = sh
341 changedir = {toxinidir}/RO-SDN-onos_openflow
343 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onosof.egg
-info osm_rosdn_onosof
*.tar.gz'
344 python3 setup.py --command-packages=stdeb.command sdist_dsc
345 sh
-c 'cd deb_dist
/osm
-rosdn
-onosof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
348 #######################################################################################
349 [testenv:dist_ro_sdn_onos_vpls]
350 deps = {[testenv]deps}
351 -r
{toxinidir
}/requirements
-dist.txt
353 whitelist_externals = sh
354 changedir = {toxinidir}/RO-SDN-onos_vpls
356 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onos_vpls.egg
-info osm_rosdn_onos_vpls
*.tar.gz'
357 python3 setup.py --command-packages=stdeb.command sdist_dsc
358 sh
-c 'cd deb_dist
/osm
-rosdn
-onos
-vpls
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
361 #######################################################################################
362 [testenv:dist_ro_vim_aws]
363 deps = {[testenv]deps}
364 -r
{toxinidir
}/requirements
-dist.txt
366 whitelist_externals = sh
367 changedir = {toxinidir}/RO-VIM-aws
369 sh
-c 'rm
-rf deb_dist dist osm_rovim_aws.egg
-info osm_rovim_aws
*.tar.gz'
370 python3 setup.py --command-packages=stdeb.command sdist_dsc
371 sh
-c 'cd deb_dist
/osm
-rovim
-aws
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
374 #######################################################################################
375 [testenv:dist_ro_vim_azure]
376 deps = {[testenv]deps}
377 -r
{toxinidir
}/requirements
-dist.txt
379 whitelist_externals = sh
380 changedir = {toxinidir}/RO-VIM-azure
382 sh
-c 'rm
-rf deb_dist dist osm_rovim_azure.egg
-info osm_rovim_azure
*.tar.gz'
383 python3 setup.py --command-packages=stdeb.command sdist_dsc
384 sh
-c 'cd deb_dist
/osm
-rovim
-azure
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
387 #######################################################################################
388 [testenv:dist_ro_vim_openstack]
389 deps = {[testenv]deps}
390 -r
{toxinidir
}/requirements
-dist.txt
392 whitelist_externals = sh
393 changedir = {toxinidir}/RO-VIM-openstack
395 sh
-c 'rm
-rf deb_dist dist osm_rovim_openstack.egg
-info osm_rovim_openstack
*.tar.gz'
396 python3 setup.py --command-packages=stdeb.command sdist_dsc
397 sh
-c 'cd deb_dist
/osm
-rovim
-openstack
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
400 #######################################################################################
401 [testenv:dist_ro_vim_openvim]
402 deps = {[testenv]deps}
403 -r
{toxinidir
}/requirements
-dist.txt
405 whitelist_externals = sh
406 changedir = {toxinidir}/RO-VIM-openvim
408 sh
-c 'rm
-rf deb_dist dist osm_rovim_openvim.egg
-info osm_rovim_openvim
*.tar.gz'
409 python3 setup.py --command-packages=stdeb.command sdist_dsc
410 sh
-c 'cd deb_dist
/osm
-rovim
-openvim
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
413 #######################################################################################
414 [testenv:dist_ro_vim_vmware]
415 deps = {[testenv]deps}
416 -r
{toxinidir
}/requirements
-dist.txt
418 whitelist_externals = sh
419 changedir = {toxinidir}/RO-VIM-vmware
421 sh
-c 'rm
-rf deb_dist dist osm_rovim_vmware.egg
-info osm_rovim_vmware
*.tar.gz'
422 python3 setup.py --command-packages=stdeb.command sdist_dsc
423 sh
-c 'cd deb_dist
/osm
-rovim
-vmware
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
426 #######################################################################################
427 [testenv:dist_ro_vim_gcp]
428 deps = {[testenv]deps}
429 -r
{toxinidir
}/requirements
-dist.txt
431 whitelist_externals = sh
432 changedir = {toxinidir}/RO-VIM-gcp
434 sh
-c 'rm
-rf deb_dist dist osm_rovim_gcp.egg
-info osm_rovim_gcp
*.tar.gz'
435 python3 setup.py --command-packages=stdeb.command sdist_dsc
436 sh
-c 'cd deb_dist
/osm
-rovim
-gcp
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
439 #######################################################################################
455 max-line-length = 120
458 import-order-style = google