VOL-2311: Better logging and remove old code

- tasks have better detail
- 1.x functions removed
- extraineous logging removed
- build info injected into environment, viewable
  in log and voltctl similar to openolt

Change-Id: I9b22334c3049efa857b485cca28a343b36514ab6
diff --git a/python/adapters/brcm_openomci_onu/main.py b/python/adapters/brcm_openomci_onu/main.py
index f6d45ef..b1e9873 100755
--- a/python/adapters/brcm_openomci_onu/main.py
+++ b/python/adapters/brcm_openomci_onu/main.py
@@ -21,13 +21,13 @@
 import argparse
 import os
 import time
-import logging
+import types
 
 import arrow
 import yaml
 import socketserver
+import configparser
 
-from packaging.version import Version
 from simplejson import dumps
 from twisted.internet.defer import inlineCallbacks, returnValue
 from twisted.internet.task import LoopingCall
@@ -52,7 +52,7 @@
 from probe import Probe
 
 defs = dict(
-    version_file='./VERSION',
+    build_info_file='./BUILDINFO',
     config=os.environ.get('CONFIG', './openonu.yml'),
     container_name_regex=os.environ.get('CONTAINER_NUMBER_EXTRACTOR', '^.*\.(['
                                                                       '0-9]+)\..*$'),
@@ -237,7 +237,6 @@
                         default=defs['event_topic'],
                         help=_help)
 
-
     _help = '<hostname>:<port> for liveness and readiness probes (default: %s)' % defs['probe']
     parser.add_argument(
         '-P', '--probe', dest='probe', action='store',
@@ -265,11 +264,31 @@
     return config
 
 
+def get_build_info():
+    path = defs['build_info_file']
+    if not path.startswith('/'):
+        dir = os.path.dirname(os.path.abspath(__file__))
+        path = os.path.join(dir, path)
+    path = os.path.abspath(path)
+    build_info = configparser.ConfigParser()
+    build_info.read(path)
+    results = types.SimpleNamespace(
+        version=build_info.get('buildinfo', 'version', fallback='unknown'),
+        vcs_ref=build_info.get('buildinfo', 'vcs_ref', fallback='unknown'),
+        vcs_dirty=build_info.get('buildinfo', 'vcs_dirty', fallback='unknown'),
+        build_time=build_info.get('buildinfo', 'build_time', fallback='unknown')
+    )
+    return results
+
+
 def print_banner(log):
-   log.info('                                                    ')
-   log.info('               OpenOnu Adapter                      ')
-   log.info('                                                    ')
-   log.info('(to stop: press Ctrl-C)')
+    log.info('       ___________ _____ _   _ _____ _   _ _   _       ')
+    log.info('      |  _  | ___ \  ___| \ | |  _  | \ | | | | |      ')
+    log.info('      | | | | |_/ / |__ |  \| | | | |  \| | | | |      ')
+    log.info('      | | | |  __/|  __|| . ` | | | | . ` | | | |      ')
+    log.info('      \ \_/ / |   | |___| |\  \ \_/ / |\  | |_| |      ')
+    log.info('       \___/\_|   \____/\_| \_/\___/\_| \_/\___/       ')
+    log.info('                                                       ')
 
 
 @implementer(IComponent)
@@ -298,8 +317,8 @@
         self.log.info('container-number-extractor',
                       regex=args.container_name_regex)
 
-        self.adapter_version = self.get_version()
-        self.log.info('OpenONU-Adapter-Version', version=self.adapter_version)
+        self.build_info = get_build_info()
+        self.log.info('OpenONU-Adapter-Version', build_version=self.build_info)
 
         if not args.no_banner:
             print_banner(self.log)
@@ -319,23 +338,6 @@
             self.start_heartbeat()
             self.start_kafka_cluster_heartbeat(self.instance_id)
 
-    def get_version(self):
-        path = defs['version_file']
-        if not path.startswith('/'):
-            dir = os.path.dirname(os.path.abspath(__file__))
-            path = os.path.join(dir, path)
-
-        path = os.path.abspath(path)
-        version_file = open(path, 'r')
-        v = version_file.read()
-
-        # Use Version to validate the version string - exception will be raised
-        # if the version is invalid
-        Version(v)
-
-        version_file.close()
-        return v
-
     def start(self):
         self.start_reactor()  # will not return except Keyboard interrupt
 
@@ -392,7 +394,8 @@
 
             self.adapter = BrcmOpenomciOnuAdapter(
                 core_proxy=self.core_proxy, adapter_proxy=self.adapter_proxy,
-                config=config)
+                config=config,
+                build_info=self.build_info)
 
             self.adapter.start()