Restructuring code in osm_ro folder, and setup based on MANIFEST
Also updated Makefile and service-openmano.sh
Change-Id: I60cf49013315efafd73de377452e38faf2f2f1e0
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..154ea27
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,9 @@
+#include MANIFEST.in
+#include requirements.txt
+include README.rst
+include openmano
+include openmanod.py
+include openmanod.cfg
+include osm-ro.service
+recursive-include osm_ro *
+
diff --git a/Makefile b/Makefile
index b5e6960..76a2990 100644
--- a/Makefile
+++ b/Makefile
@@ -2,42 +2,47 @@
all: pypackage debpackage
prepare:
- mkdir -p build
- cp *.py build/
- #cd build; mv openmanod.py openmanod
- cp openmano build/
- cp openmanod.cfg build/
+ mkdir -p build/
+ cp MANIFEST.in build/
cp requirements.txt build/
cp README.rst build/
- cp openmano.service build/
- cp -r vnfs build/
- cp -r scenarios build/
- cp -r instance-scenarios build/
- cp -r scripts build/
- cd build/scripts; mv service-openmano.sh service-openmano; mv openmano-report.sh openmano-report
- cp -r database_utils build/
+ cp setup.py build/
+ cp -r osm_ro build/
+ cp openmano build/
+ cp openmanod.py build/
+ cp openmanod.cfg build/
+ cp osm-ro.service build/
+ cp -r vnfs build/osm_ro
+ cp -r scenarios build/osm_ro
+ cp -r instance-scenarios build/osm_ro
+ cp -r scripts build/osm_ro
+ cp -r database_utils build/osm_ro
connectors: prepare
# python-novaclient is required for that
- rm -f build/openmanolinkervimconn.py
- cd build; for i in `ls vimconn_*.py |sed "s/\.py//"` ; do echo "import $$i" >> openmanolinkervimconn.py; done
- python build/openmanolinkervimconn.py
- rm -f build/openmanolinkervimconn.py
+ rm -f build/osm_ro/openmanolinkervimconn.py
+ cd build/osm_ro; for i in `ls vimconn_*.py |sed "s/\.py//"` ; do echo "import $$i" >> openmanolinkervimconn.py; done
+ python build/osm_ro/openmanolinkervimconn.py
+ rm -f build/osm_ro/openmanolinkervimconn.py
-build: prepare
- python -m py_compile build/*.py
+build: connectors prepare
+ python -m py_compile build/osm_ro/*.py
-pypackage: build
+pypackage: prepare
cd build; ./setup.py sdist
- #cp build/dist/* /root/artifacts/...
+ cd build; ./setup.py bdist_wheel
-debpackage: build
- echo "Nothing to be done yet"
+debpackage: prepare
+ echo "Nothing to be done"
+ #cd build; ./setup.py --command-packages=stdeb.command bdist_deb
#fpm -s python -t deb build/setup.py
snappackage:
echo "Nothing to be done yet"
+sync:
+ #cp build/dist/* /root/artifacts/...
+
test:
./test/basictest.sh --force --insert-bashrc --install-openvim --init-openvim
diff --git a/openmano.service b/openmano.service
deleted file mode 100644
index cc8966c..0000000
--- a/openmano.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=openmano server (OSM RO)
-
-[Service]
-User=${USER_OWNER}
-ExecStart=openmanod -c /etc/osm/openmanod.cfg --log-file=/var/log/osm/openmano.log
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/openmanod.py b/openmanod.py
index 03901c3..bb32339 100755
--- a/openmanod.py
+++ b/openmanod.py
@@ -37,19 +37,17 @@
version_date="Jan 2017"
database_version="0.19" #expected database schema version
-import httpserver
import time
import sys
import getopt
import yaml
-import nfvo_db
from jsonschema import validate as js_v, exceptions as js_e
-from openmano_schemas import config_schema
-from db_base import db_base_Exception
-import nfvo
import logging
import logging.handlers as log_handlers
import socket
+from osm_ro import httpserver, nfvo, nfvo_db
+from osm_ro.openmano_schemas import config_schema
+from osm_ro.db_base import db_base_Exception
global global_config
global logger
diff --git a/osm-ro.service b/osm-ro.service
new file mode 100644
index 0000000..155150b
--- /dev/null
+++ b/osm-ro.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=openmano server (OSM RO)
+
+[Service]
+User=${USER_OWNER}
+ExecStart=openmanod.py -c /etc/osm/openmanod.cfg --log-file=/var/log/osm/openmano.log
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/console_proxy_thread.py b/osm_ro/console_proxy_thread.py
similarity index 100%
rename from console_proxy_thread.py
rename to osm_ro/console_proxy_thread.py
diff --git a/db_base.py b/osm_ro/db_base.py
similarity index 100%
rename from db_base.py
rename to osm_ro/db_base.py
diff --git a/httpserver.py b/osm_ro/httpserver.py
similarity index 100%
rename from httpserver.py
rename to osm_ro/httpserver.py
diff --git a/nfvo.py b/osm_ro/nfvo.py
similarity index 100%
rename from nfvo.py
rename to osm_ro/nfvo.py
diff --git a/nfvo_db.py b/osm_ro/nfvo_db.py
similarity index 100%
rename from nfvo_db.py
rename to osm_ro/nfvo_db.py
diff --git a/openmano_schemas.py b/osm_ro/openmano_schemas.py
similarity index 100%
rename from openmano_schemas.py
rename to osm_ro/openmano_schemas.py
diff --git a/openmanoclient.py b/osm_ro/openmanoclient.py
similarity index 100%
rename from openmanoclient.py
rename to osm_ro/openmanoclient.py
diff --git a/utils.py b/osm_ro/utils.py
similarity index 100%
rename from utils.py
rename to osm_ro/utils.py
diff --git a/vim_thread.py b/osm_ro/vim_thread.py
similarity index 100%
rename from vim_thread.py
rename to osm_ro/vim_thread.py
diff --git a/vimconn.py b/osm_ro/vimconn.py
similarity index 100%
rename from vimconn.py
rename to osm_ro/vimconn.py
diff --git a/vimconn_openstack.py b/osm_ro/vimconn_openstack.py
similarity index 100%
rename from vimconn_openstack.py
rename to osm_ro/vimconn_openstack.py
diff --git a/vimconn_openvim.py b/osm_ro/vimconn_openvim.py
similarity index 100%
rename from vimconn_openvim.py
rename to osm_ro/vimconn_openvim.py
diff --git a/vimconn_vmware.py b/osm_ro/vimconn_vmware.py
similarity index 100%
rename from vimconn_vmware.py
rename to osm_ro/vimconn_vmware.py
diff --git a/vmwarecli.py b/osm_ro/vmwarecli.py
similarity index 100%
rename from vmwarecli.py
rename to osm_ro/vmwarecli.py
diff --git a/vmwarerecli.py b/osm_ro/vmwarerecli.py
similarity index 100%
rename from vmwarerecli.py
rename to osm_ro/vmwarerecli.py
diff --git a/requirements.txt b/requirements.txt
index 0f6b6f6..38c055c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,21 +1,21 @@
--index-url https://pypi.python.org/simple/
-PyYAML==3.10
-bottle==0.12.7
-PyMySQL==0.7.2
-jsonschema==2.5.1
-paramiko==1.16.0
-argcomplete==0.8.1
-requests==2.13.0
-logutils==0.3.3
-python-cinderclient==1.6.0
-python-glanceclient==2.0.0
-python-keystoneclient==2.3.1
-python-neutronclient==4.1.1
-python-novaclient==3.3.1
-pyvcloud==16
-pyvmomi==6.5
-progressbar==2.3
-prettytable==0.7.2
-boto==2.38.0
+PyYAML
+bottle
+MySQL-python
+jsonschema
+paramiko
+argcomplete
+requests
+logutils
+python-novaclient
+python-keystoneclient
+python-glanceclient
+python-neutronclient
+python-cinderclient
+pyvcloud
+pyvmomi
+progressbar
+prettytable
+boto
diff --git a/scripts/service-openmano.sh b/scripts/service-openmano.sh
index 1a48d4a..0224d20 100755
--- a/scripts/service-openmano.sh
+++ b/scripts/service-openmano.sh
@@ -116,7 +116,7 @@
running=y
done
#if installed as a service and it is not provided a screen name call service
- [[ -f /etc/systemd/system/openmano.service ]] && [[ -z $option_screen_name ]] && running=y #&& service openmano status
+ [[ -f /etc/systemd/system/osm-ro.service ]] && [[ -z $option_screen_name ]] && running=y #&& service osm-ro status
if [ -z "$running" ]
then
echo -n " $om_name not running" && [[ -n "$option_screen_name" ]] && echo " on screen '$option_screen_name'" || echo
@@ -124,7 +124,7 @@
fi
#if installed as a service and it is not provided a screen name call service
- [[ -f /etc/systemd/system/openmano.service ]] && [[ -z $option_screen_name ]] && service openmano $om_action && ( [[ $om_action == status ]] || sleep 5 ) && exit $?
+ [[ -f /etc/systemd/system/osm-ro.service ]] && [[ -z $option_screen_name ]] && service osm-ro $om_action && ( [[ $om_action == status ]] || sleep 5 ) && exit $?
#stop
diff --git a/setup.py b/setup.py
index 2d2d07a..68781be 100755
--- 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},
+ )