Restructuring code in osm_ro folder, and setup based on MANIFEST
[osm/RO.git] / setup.py
index 2d2d07a..68781be 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -1,68 +1,69 @@
 #!/usr/bin/env python
 
 from setuptools import setup
+from setuptools.command.install import install
+from os import system
 #import glob
 
-requirements = [
+_name = 'osm_ro'
+_version = '1.0.0'
+_description = 'OSM Resource Orchestrator'
+_author = 'ETSI OSM'
+_author_email = 'alfonso.tiernosepulveda@telefonica.com'
+_maintainer = 'garciadeblas'
+_maintainer_email = 'gerardo.garciadeblas@telefonica.com'
+_license = 'Apache 2.0'
+_url = 'https://osm.etsi.org/gitweb/?p=osm/RO.git;a=summary'
+_requirements = [
     "PyYAML",
     "bottle",
-    "mysqldb",
+    "MySQL-python",
     "jsonschema",
     "paramiko",
     "argcomplete",
     "requests",
     "logutils",
-    "pip",
-    "novaclient",
-    "keystoneclient",
-    "glanceclient",
-    "neutronclient",
-    "cinderclient",
-    "boto",
+    "python-novaclient",
+    "python-keystoneclient",
+    "python-glanceclient",
+    "python-neutronclient",
+    "python-cinderclient",
     "pyvcloud",
     "progressbar",
     "prettytable",
     "pyvmomi",
+    "boto",
 ]
 
-setup(name='osm-ro',
-      version='1.0',
-      description='OSM Resource Orchestrator',
-      long_description=open('README.rst').read(),
-      author='ETSI OSM',
-      author_email='alfonso.tiernosepulveda@telefonica.com',
-      maintainer='garciadeblas',
-      maintainer_email='gerardo.garciadeblas@telefonica.com',
-      url='https://osm.etsi.org/gitweb/?p=osm/RO.git;a=summary',
-      license='Apache 2.0',
-      #packages=['ro-server', 'ro-client'],
-      #py_modules=glob.glob('*.py')
-      py_modules=['console_proxy_thread',
-                  'db_base',
-                  'httpserver',
-                  'nfvo_db',
-                  'nfvo',
-                  'openmanoclient',
-                  'openmanoconfig',
-                  'openmanod',
-                  'openmano_schemas',
-                  'utils',
-                  'vimconn_openstack',
-                  'vimconn_openvim',
-                  'vimconn',
-                  'vimconn_vmware',
-                  'vmwarecli',
-                  'vmwarerecli',
-                 ],
-     install_requires=requirements,
-     #package_data={'': ['vnfs', 'scenarios', 'instance-scenarios', 'database_utils/mano_db_structure.sql']}
-     data_files=[('/etc/osm/', ['openmanod.cfg']),
-                 ('/etc/systemd/system/', ['openmano.service']),
-                 ('vnfs', ['vnfs']),
-                 ('scenarios', ['scenarios']),
-                 ('instance-scenarios', ['instance-scenarios']),
-                 ('database_utils', ['database-utils']),
-                ],
-     scripts=['openmanod.py', 'openmano', 'scripts/service-openmano', 'scripts/openmano-report',]
-     )
+class ROInstaller(install):
+    def run(self):
+        cmd = 'echo "Running install script"'
+        system(cmd)
+        install.run(self)
+
+setup(name=_name,
+      version = _version,
+      description = _description,
+      long_description = open('README.rst').read(),
+      author = _author,
+      author_email = _author_email,
+      maintainer = _maintainer,
+      maintainer_email = _maintainer_email,
+      url = _url,
+      license = _license,
+      packages = [_name],
+      #packages = ['osm_ro', 'osm_roclient'],
+      package_dir = {_name: _name},
+      package_data = {_name: ['vnfs/*.yaml', 'vnfs/examples/*.yaml',
+                         'scenarios/*.yaml', 'scenarios/examples/*.yaml',
+                         'instance-scenarios/examples/*.yaml', 'database_utils/*',
+                         'scripts/install-openmano*.sh']},
+      data_files = [('/etc/osm/', ['openmanod.cfg']),
+                   ('/etc/systemd/system/', ['osm-ro.service']),
+                   ],
+      scripts=['openmanod.py', 'openmano', 'osm_ro/scripts/service-openmano.sh', 'osm_ro/scripts/openmano-report.sh',],
+      install_requires=_requirements,
+      include_package_data=True,
+      cmdclass = {'install': ROInstaller},
+      )