Support of debian packaging via stdeb; postinst script; renaming some files
Change-Id: I966a27d84688ee2e7083324033ebea3ade6fc871
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/MANIFEST.in b/MANIFEST.in
index f586ebf..48790d4 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,9 +1,8 @@
#include MANIFEST.in
#include requirements.txt
include README.rst
+include RO_VERSION
include openmano
include openmanod
-include openmanod.cfg
-include osm-ro.service
recursive-include osm_ro *
diff --git a/Makefile b/Makefile
index 226bcb4..5bde339 100644
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,19 @@
SHELL := /bin/bash
-all: pip deb
+all: package install
prepare:
pip install setuptools
- #pip install -r requirements.txt
mkdir -p build/
+ #git describe | sed -e 's/^v//' > build/RO_VERSION
+ echo "1.1.5" > build/RO_VERSION
cp MANIFEST.in build/
cp requirements.txt build/
cp README.rst build/
cp setup.py build/
+ cp stdeb.cfg build/
cp -r osm_ro build/
cp openmano build/
cp openmanod 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
@@ -32,25 +32,25 @@
pip: prepare
cd build && ./setup.py sdist
- cd build && ./setup.py bdist_wheel
-deb: prepare
- echo "Nothing to be done"
- #cd build; ./setup.py --command-packages=stdeb.command bdist_deb
- #fpm -s python -t deb build/setup.py
+package: prepare
+ cd build && python setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True
+ cd build && cp osm_ro/scripts/python-osm-ro.postinst deb_dist/osm-ro*/debian/
+ cd build/deb_dist/osm-ro* && dpkg-buildpackage -rfakeroot -uc -us
snap:
echo "Nothing to be done yet"
install:
- cd build && pip install dist/*.tar.gz
+ DEBIAN_FRONTEND=noninteractive apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y python-pip && \
+ pip install --upgrade pip && \
+ dpkg -i build/deb_dist/*.deb
develop: prepare
+ #pip install -r requirements.txt
cd build && ./setup.py develop
-sync:
- #cp build/dist/* /root/artifacts/...
-
test:
./test/basictest.sh --force --insert-bashrc --install-openvim --init-openvim
diff --git a/openmanod.cfg b/osm_ro/openmanod.cfg
similarity index 100%
rename from openmanod.cfg
rename to osm_ro/openmanod.cfg
diff --git a/osm-ro.service b/osm_ro/osm-ro.service
similarity index 100%
rename from osm-ro.service
rename to osm_ro/osm-ro.service
diff --git a/scripts/openmano-report.sh b/scripts/openmano-report
similarity index 100%
rename from scripts/openmano-report.sh
rename to scripts/openmano-report
diff --git a/scripts/python-osm-ro.postinst b/scripts/python-osm-ro.postinst
new file mode 100755
index 0000000..00f2400
--- /dev/null
+++ b/scripts/python-osm-ro.postinst
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+##
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# For those usages not covered by the Apache License, Version 2.0 please
+# contact with: OSM_TECH@list.etsi.org
+##
+
+echo "POST INSTALL OSM-RO"
+OSMRO_PATH=`python -c 'import osm_ro; print osm_ro.__path__[0]'`
+#OSMLIBOVIM_PATH=`python -c 'import lib_osm_openvim; print lib_osm_openvim.__path__[0]'`
+
+#Pip packages required for vmware connector
+pip install --upgrade pip
+pip install pyvcloud
+pip install progressbar
+pip install prettytable
+pip install pyvmomi
+
+systemctl enable osm-ro.service
+
+#Creation of log folder
+mkdir -p /var/log/osm
+
+#configure arg-autocomplete for this user
+su $SUDO_USER -c 'activate-global-python-argcomplete --user'
+if ! su $SUDO_USER -c 'grep -q bash_completion.d/python-argcomplete.sh ${HOME}/.bashrc'
+then
+ echo " inserting .bash_completion.d/python-argcomplete.sh execution at .bashrc"
+ su $SUDO_USER -c 'echo ". ${HOME}/.bash_completion.d/python-argcomplete.sh" >> ~/.bashrc'
+fi
+
+echo '
+To make OSM RO work, you have to install mysql and a database, and finally start openmano service'
+echo ' ${OSMRO_PATH}/scripts/install-db-server.sh -u USER -p '
+echo ' service openmano start'
+
+
diff --git a/scripts/service-openmano.sh b/scripts/service-openmano
similarity index 100%
rename from scripts/service-openmano.sh
rename to scripts/service-openmano
diff --git a/setup.py b/setup.py
index 20b6c3a..fb38970 100755
--- a/setup.py
+++ b/setup.py
@@ -1,12 +1,13 @@
#!/usr/bin/env python
+#from distutils.core import setup
+#from distutils.command.install_data import install_data
from setuptools import setup
-from setuptools.command.install import install
from os import system
#import glob
_name = 'osm_ro'
-_version = '1.0.0'
+_version = open('RO_VERSION').read()
_description = 'OSM Resource Orchestrator'
_author = 'ETSI OSM'
_author_email = 'alfonso.tiernosepulveda@telefonica.com'
@@ -35,12 +36,6 @@
"boto",
]
-class ROInstaller(install):
- def run(self):
- cmd = 'echo "Running install script"'
- system(cmd)
- install.run(self)
-
setup(name=_name,
version = _version,
description = _description,
@@ -57,13 +52,12 @@
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/*']},
+ data_files = [('/etc/osm/', ['osm_ro/openmanod.cfg']),
+ ('/etc/systemd/system/', ['osm_ro/osm-ro.service']),
],
- scripts=['openmanod', 'openmano', 'osm_ro/scripts/service-openmano.sh', 'osm_ro/scripts/openmano-report.sh',],
+ scripts=['openmanod', 'openmano', 'osm_ro/scripts/service-openmano', 'osm_ro/scripts/openmano-report',],
install_requires=_requirements,
include_package_data=True,
- cmdclass = {'install': ROInstaller},
)
diff --git a/stdeb.cfg b/stdeb.cfg
new file mode 100644
index 0000000..0978737
--- /dev/null
+++ b/stdeb.cfg
@@ -0,0 +1,6 @@
+[DEFAULT]
+Suite: xenial
+XS-Python-Version: >= 2.7
+Maintainer: Gerardo Garcia <gerardo.garciadeblas@telefonica.com>
+Depends: python-pip, libmysqlclient-dev, libssl-dev, libffi-dev, python-argcomplete, python-boto, python-bottle, python-jsonschema, python-logutils, python-cinderclient, python-glanceclient, python-keystoneclient, python-neutronclient, python-novaclient, python-mysqldb, mysql-server
+