Get version from installed package if available instead of code 65/8365/1 v7.0.0
authortierno <alfonso.tiernosepulveda@telefonica.com>
Tue, 10 Dec 2019 10:57:17 +0000 (10:57 +0000)
committertierno <alfonso.tiernosepulveda@telefonica.com>
Tue, 10 Dec 2019 10:58:08 +0000 (10:58 +0000)
Change-Id: I0c9336ff02f90094af580b2fb2e1b8cd55fd67fb
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
osm_nbi/__init__.py
osm_nbi/html_out.py
osm_nbi/nbi.py

index 982792c..84597c0 100644 (file)
@@ -12,5 +12,5 @@
 # under the License.
 ##
 
-version = '6.0.3.post22'
-version_date = '2018-11-05'
+version = '7.0.0.post1'
+version_date = '2018-12-10'
index efb3945..5fd12ce 100644 (file)
@@ -46,7 +46,7 @@ html_start = """
       <a href="/osm/admin/v1/vim_accounts">VIMs </a>
       <a href="/osm/admin/v1/wim_accounts">WIMs </a>
       <a href="/osm/admin/v1/sdns">SDNs </a>
-      <a href="/osm/admin/v1/k8sclusters">K8s_cluseters </a>
+      <a href="/osm/admin/v1/k8sclusters">K8s_clusters </a>
       <a href="/osm/admin/v1/k8srepos">K8s_repos </a>
       <a href="/osm/admin/v1/tokens?METHOD=DELETE">logout </a>
     </div>
index b7a2c13..5b16544 100644 (file)
@@ -35,7 +35,7 @@ from osm_common.msgbase import MsgException
 from http import HTTPStatus
 from codecs import getreader
 from os import environ, path
-from osm_nbi import version as nbi_version, version_date as nbi_version_date
+from osm_nbi import version as _nbi_version, version_date as nbi_version_date
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
@@ -46,6 +46,7 @@ database_version = '1.2'
 auth_database_version = '1.0'
 nbi_server = None           # instance of Server class
 subscription_thread = None  # instance of SubscriptionThread class
+nbi_version = _nbi_version  # by default this is fixed in the code
 
 
 """
@@ -1173,6 +1174,18 @@ class Server(object):
                             cherrypy.request.login += ";{}={}".format(logging_id, outdata[logging_id][:36])
 
 
+def _get_version():
+    """
+    Try to get version from package using pkg_resources (available with setuptools)
+    """
+    global nbi_version
+    try:
+        from pkg_resources import get_distribution
+        nbi_version = get_distribution("osm_nbi").version
+    except Exception:
+        pass
+
+
 def _start_service():
     """
     Callback function called when cherrypy.engine starts
@@ -1273,8 +1286,8 @@ def _start_service():
 
     # load and print version. Ignore possible errors, e.g. file not found
     try:
+        _get_version()
         backend = engine_config["authentication"]["backend"]
-        nbi_version
         cherrypy.log.error("Starting OSM NBI Version '{}' with '{}' authentication backend"
                            .format(nbi_version + " " + nbi_version_date, backend))
     except Exception: