Package generation fixing 91/5991/5
authortierno <alfonso.tiernosepulveda@telefonica.com>
Tue, 24 Apr 2018 08:41:10 +0000 (10:41 +0200)
committertierno <alfonso.tiernosepulveda@telefonica.com>
Tue, 24 Apr 2018 15:20:14 +0000 (17:20 +0200)
provide version using /osm/static/version

Change-Id: I826d811fe52e7a0d71807dfcbad3e1cebe3a2051
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
.gitignore-common
Dockerfile
Makefile
README.rst
osm_nbi/html_public/version [new file with mode: 0644]
osm_nbi/nbi.py
osm_nbi/osm-nbi.service
setup.py

index 62bb57e..f0f10bd 100644 (file)
@@ -19,7 +19,7 @@ logs
 .settings
 
 #local stuff files that end in ".local" or folders called "local"
-*.local
+local
 osm_nbi/local
 osm_nbi/test/local
 
@@ -28,4 +28,8 @@ osm_nbi/test/local
 osm_nbi/temp
 osm_nbi/test/temp
 
+#distribution and package generation
+build
+dist
+*.egg-info
 
index 058c506..179dfa8 100644 (file)
@@ -1,3 +1,8 @@
+# This Dockerfile is intented for devops and deb package generation
+#
+# Use Dockerfile.local for running osm/NBI in a docker container
+
+
 FROM ubuntu:16.04
 
 RUN apt-get update && apt-get -y install git make python python3 \
index c8fdc45..6b857ed 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,53 +1,34 @@
-.PHONY: all test clean
-
-SHELL := /bin/bash
-
-BRANCH ?= master
-
-all:
-       $(MAKE) clean_build build
+# All Rights Reserved.
+#
+#    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.
+
+OUT_DIR := osm_im
+TREES_DIR := osm_im_trees
+Q?=@
+
+all: package
        $(MAKE) clean_build package
 
 clean: clean_build
-       rm -rf .build
+       $(Q)rm -rf build dist osm_nbi.egg-info deb deb_dist *.gz $(OUT_DIR) $(TREES_DIR)
 
 clean_build:
        rm -rf build
        find osm_nbi -name '*.pyc' -delete
        find osm_nbi -name '*.pyo' -delete
 
-prepare:
-       mkdir -p build/
-       cp tox.ini build/
-       cp MANIFEST.in build/
-       cp requirements.txt build/
-       cp README.rst build/
-       cp setup.py build/
-       cp stdeb.cfg build/
-       cp -r osm_nbi build/
-       cp LICENSE build/osm_nbi
-
-
-package: prepare
-#      apt-get install -y python-stdeb
-       cd build && python3 setup.py --command-packages=stdeb.command sdist_dsc  # --with-python2=False
-       cd build/deb_dist/osm-nbi-* && dpkg-buildpackage -rfakeroot -uc -us
-       mkdir -p .build
-       cp build/deb_dist/python3-*.deb .build/
-
-snap:
-       echo "Nothing to be done yet"
-
-install: package
-       dpkg -i .build/python-osm-nbi*.deb
-       cd .. && \
-       OSMLIBOVIM_PATH=`python -c 'import lib_osm_openvim; print lib_osm_openvim.__path__[0]'` || FATAL "lib-osm-openvim was not properly installed" && \
-       OSMNBI_PATH=`python3 -c 'import osm_nbi; print(osm_nbi.__path__[0])'` || FATAL "osm-nbi was not properly installed" && \
-       service osm-nbi restart
-
-develop: prepare
-#      pip install -r requirements.txt
-       cd build && ./setup.py develop
+package:
+       tox -e build
 
 test:
        echo "TODO"
index 2d58ef0..6d3fa42 100644 (file)
@@ -3,6 +3,5 @@ osm-nbi
 ===========
 
 osm-nbi is the North Bound Interface for OSM, REST client serving json/yaml
-It also implements a functional html web server
-
+It follows ETSI SOL005 recomendations
 
diff --git a/osm_nbi/html_public/version b/osm_nbi/html_public/version
new file mode 100644 (file)
index 0000000..10340c4
--- /dev/null
@@ -0,0 +1,3 @@
+0.1.3
+Apr 2018
+
index aa8105a..c4c61ad 100644 (file)
@@ -19,7 +19,9 @@ from codecs import getreader
 from os import environ
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
-__version__ = "0.3"
+
+# TODO consider to remove and provide version using the static version file
+__version__ = "0.1.3"
 version_date = "Apr 2018"
 database_version = '1.0'
 
@@ -396,6 +398,7 @@ class Server(object):
 
     @cherrypy.expose
     def version(self, *args, **kwargs):
+        # TODO consider to remove and provide version using the static version file
         global __version__, version_date
         try:
             if cherrypy.request.method != "GET":
index beec648..52ab70b 100644 (file)
@@ -2,7 +2,7 @@
 Description=NBI server (OSM NBI)
 
 [Service]
-ExecStart=/usr/bin/nbi -c /etc/osm/nbi.cfg --log-file=/var/log/osm/nbi.log
+ExecStart=/usr/bin/nbi.py -c /etc/osm/nbi.cfg --log-file=/var/log/osm/nbi.log
 Restart=always
 
 [Install]
index 6185b54..7cd857c 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1,14 +1,20 @@
 #!/usr/bin/env python3
 
-from setuptools import setup   #, find_packages
+import os
+from setuptools import setup
 
+here = os.path.abspath(os.path.dirname(__file__))
 _name = "osm_nbi"
+VERSION = "0.1.3" 
+README = open(os.path.join(here, 'README.rst')).read()
 
 setup(
     name=_name,
     description='OSM North Bound Interface',
+    long_description=README,
     # version_command=('git describe --tags --long --dirty', 'pep440-git'),
-    version="0.1.0",
+    version=VERSION,
+    python_requires='>3.5.0',
     author='ETSI OSM',
     author_email='alfonso.tiernosepulveda@telefonica.com',
     maintainer='Alfonso Tierno',
@@ -16,7 +22,7 @@ setup(
     url='https://osm.etsi.org/gitweb/?p=osm/NBI.git;a=summary',
     license='Apache 2.0',
 
-    packages=[_name],   # find_packages(),
+    packages=[_name],
     include_package_data=True,
     data_files=[('/etc/osm/', ['osm_nbi/nbi.cfg']),
                 ('/etc/systemd/system/', ['osm_nbi/osm-nbi.service']),
@@ -24,11 +30,13 @@ setup(
 
     install_requires=[
         'CherryPy', 'pymongo', 'jsonschema'
+        # 'PyYAML',
     ],
-#    setup_requires=['setuptools-version-command'],
+    # setup_requires=['setuptools-version-command'],
     # test_suite='nose.collector',
     # entry_points='''
     #     [console_scripts]
     #     osm=osm_nbi.nbi:nbi
     #     ''',
 )
+