blob: 1d3138ffb00cf29290f43adac26730c3a9dcd26f [file] [log] [blame]
mirabald87877c2017-03-31 15:15:52 +02001#!/usr/bin/env python
2
3from setuptools import setup, find_packages
4from setuptools.command.install import install
5from os import system
6from setuptools import setup
7
8__name__ = 'lib-osm-openvim'
9__version__ = '1.0.0'
10__description__ = 'OSM Openvim library'
11__author__ = 'ETSI OSM'
12__author_email__ = 'alfonso.tiernosepulveda@telefonica.com'
13__maintainer__ = 'mirabal'
14__maintainer_email__ = 'leonardo.mirabal@altran.com'
15__license__ = 'Apache 2.0'
16__url__ = 'https://osm.etsi.org/gitweb/?p=osm/openvim.git;a=summary'
17
mirabal622e55d2017-04-06 11:01:05 +020018cmd = 'cp ovim.py ovim'
19system(cmd)
mirabald87877c2017-03-31 15:15:52 +020020
21__data_files__ = [('osm/openvim/', ['openvimd.cfg']),
22 ('osm/openvim/database_utils/', ['database_utils/vim_db_structure.sql',
23 'database_utils/nets.sql',
24 'database_utils/of_ports_pci_correspondence.sql',
25 'database_utils/host_ranking.sql',
26 'database_utils/dump_db.sh',
27 'database_utils/init_vim_db.sh',
28 'database_utils/migrate_vim_db.sh',
29 'database_utils/install-db-server.sh'
30 ]),
31 ('osm/openvim/scripts/', ['scripts/service-openvim.sh',
32 'scripts/openvim-report.sh',
33 'scripts/service-floodlight.sh',
34 'scripts/service-opendaylight.sh',
35 'scripts/initopenvim.sh'
36 ]),
37 ]
38
39
40_req = [
41 "asn1crypto",
42 "cffi",
43 "enum34",
44 "functools32",
45 "idna",
46 "ipaddress",
47 "packaging",
48 "pbr",
49 "pkgconfig",
50 "pyasn1",
51 "pycparser",
52 "pycrypto",
53 "pyparsing",
54 "six",
55 "jsonschema",
56 "argcomplete",
57 "requests",
58 "PyYAML",
59 "requestsexceptions",
60 "netaddr",
61 "bottle",
62 "MySQL-python",
63 "paramiko",
64 "libvirt-python"
65]
66
mirabal622e55d2017-04-06 11:01:05 +020067__scripts__ = ['openflow', 'openvim', 'ovim']
mirabald87877c2017-03-31 15:15:52 +020068
69
70class LibOpenvimInstaller(install):
71 lite = None
72 user_options = install.user_options + [('lite', None, "Don't install without Machine Learning modules.")]
73
74 def initialize_options(self):
75 self.lite = None
76 install.initialize_options(self)
77
78 def finalize_options(self):
79 install.finalize_options(self)
80
81 def run(self):
82
mirabal622e55d2017-04-06 11:01:05 +020083 cmd = 'ln -sf -v /usr/local/osm/openvim/openvimd.cfg /etc/default/openvimd.cfg'
mirabald87877c2017-03-31 15:15:52 +020084 system(cmd)
85 cmd = 'ln -sf -v /usr/local/osm/openvim/openflow /usr/bin/openflow'
86 system(cmd)
87 cmd = 'ln -sf -v /usr/local/osm/openvim/ovim.py /usr/bin/ovim'
88 system(cmd)
mirabald87877c2017-03-31 15:15:52 +020089
90 install.run(self)
91
92
93setup(name=__name__,
94 version=__version__,
95 description=__description__,
96 long_description=__description__,
97 author=__author__,
98 author_email=__author_email__,
99 license=__license__,
100 maintainer=__maintainer__,
101 maintainer_email=__maintainer_email__,
102 url=__url__,
103 py_modules=['ovim',
104 'openvimd',
105 'vim_db',
106 'httpserver',
107 'RADclass',
108 'auxiliary_functions',
109 'dhcp_thread',
110 'definitionsClass',
111 'host_thread',
112 'vim_schema',
113 'ovim',
114 'openflow_thread',
mirabal15f23872017-04-04 18:03:27 +0200115 'openflow_conn',
mirabald87877c2017-03-31 15:15:52 +0200116 'onos',
117 'ODL',
118 'floodlight',
119 ],
120 packages=find_packages() + ['database_utils'] + ['scripts'],
121 package_dir={__name__: __name__},
122 package_data={'database_utils': ['*'], 'scripts': ['*']},
123 scripts=__scripts__,
124 data_files=__data_files__,
125 include_package_data=True,
126 cmdclass={'install': LibOpenvimInstaller},
127 install_requires=_req
128 )
129
130