X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=setup.py;fp=setup.py;h=642b5ade3d7cd1d5257cadc2640a3890e64ea8fe;hb=d87877c809892f536054fc7b072acc7f865b988b;hp=0000000000000000000000000000000000000000;hpb=928275586b85630582bae0a480491c54b50421f5;p=osm%2Fopenvim.git diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..642b5ad --- /dev/null +++ b/setup.py @@ -0,0 +1,145 @@ +#!/usr/bin/env python + +from setuptools import setup, find_packages +from setuptools.command.install import install +from os import system +from setuptools import setup + +__name__ = 'lib-osm-openvim' +__version__ = '1.0.0' +__description__ = 'OSM Openvim library' +__author__ = 'ETSI OSM' +__author_email__ = 'alfonso.tiernosepulveda@telefonica.com' +__maintainer__ = 'mirabal' +__maintainer_email__ = 'leonardo.mirabal@altran.com' +__license__ = 'Apache 2.0' +__url__ = 'https://osm.etsi.org/gitweb/?p=osm/openvim.git;a=summary' + + +__data_files__ = [('osm/openvim/', ['openvimd.cfg']), + ('osm/openvim/database_utils/', ['database_utils/vim_db_structure.sql', + 'database_utils/nets.sql', + 'database_utils/of_ports_pci_correspondence.sql', + 'database_utils/host_ranking.sql', + 'database_utils/dump_db.sh', + 'database_utils/init_vim_db.sh', + 'database_utils/migrate_vim_db.sh', + 'database_utils/install-db-server.sh' + ]), + ('osm/openvim/scripts/', ['scripts/service-openvim.sh', + 'scripts/openvim-report.sh', + 'scripts/service-floodlight.sh', + 'scripts/service-opendaylight.sh', + 'scripts/initopenvim.sh' + ]), + ] + + +_req = [ + "asn1crypto", + "cffi", + "enum34", + "functools32", + "idna", + "ipaddress", + "packaging", + "pbr", + "pkgconfig", + "pyasn1", + "pycparser", + "pycrypto", + "pyparsing", + "six", + "jsonschema", + "argcomplete", + "requests", + "PyYAML", + "requestsexceptions", + "netaddr", + "bottle", + "MySQL-python", + "paramiko", + "libvirt-python" +] + +__scripts__ = ['openflow', 'ovim'] + + +class LibOpenvimInstaller(install): + lite = None + user_options = install.user_options + [('lite', None, "Don't install without Machine Learning modules.")] + + def initialize_options(self): + self.lite = None + install.initialize_options(self) + + def finalize_options(self): + install.finalize_options(self) + + def run(self): + + cmd = 'ln -sf -v /usr/local/osm/openvim/openvimd.cfg /etc/default/openvimd.cfg ' + system(cmd) + cmd = 'ln -sf -v /usr/local/osm/openvim/openflow /usr/bin/openflow' + system(cmd) + cmd = 'ln -sf -v /usr/local/osm/openvim/ovim.py /usr/bin/ovim' + system(cmd) + if not self.lite: + __scripts__.append('openvim') + __scripts__.append('openvimd') + + cmd = 'ln -sf -v /usr/local/osm/openvim/openvimd /usr/bin/openvimd' + system(cmd) + cmd = 'ln -sf -v /usr/local/osm/openvim/openvim /usr/bin/openvim' + system(cmd) + cmd = 'ln -sf -v /usr/local/osm/openvim/scripts/service-openvim.sh /usr/sbin/service-openvim' + system(cmd) + cmd = 'ln -sf -v /usr/local/osm/openvim/scripts/openvim-report.sh /usr/sbin/service-report' + system(cmd) + cmd = 'ln -sf -v /usr/local/osm/openvim/scripts/service-floodlight.sh /usr/sbin/service-floodlight' + system(cmd) + cmd = 'ln -sf -v /usr/local/osm/openvim/scripts/service-opendaylight.sh /usr/sbin/service-opendaylight' + system(cmd) + cmd = 'ln -sf -v /usr/local/osm/openvim/scripts/initopenvim.sh /usr/sbin/initopenvim' + system(cmd) + + install.run(self) + + +setup(name=__name__, + version=__version__, + description=__description__, + long_description=__description__, + author=__author__, + author_email=__author_email__, + license=__license__, + maintainer=__maintainer__, + maintainer_email=__maintainer_email__, + url=__url__, + py_modules=['ovim', + 'openvimd', + 'vim_db', + 'httpserver', + 'RADclass', + 'auxiliary_functions', + 'dhcp_thread', + 'definitionsClass', + 'host_thread', + 'vim_schema', + 'ovim', + 'openflow_thread', + 'onos', + 'ODL', + 'floodlight', + ], + packages=find_packages() + ['database_utils'] + ['scripts'], + package_dir={__name__: __name__}, + package_data={'database_utils': ['*'], 'scripts': ['*']}, + scripts=__scripts__, + data_files=__data_files__, + include_package_data=True, + cmdclass={'install': LibOpenvimInstaller}, + install_requires=_req + ) + +