VOL-2241:  Python 3 migration

 - rename adapter class file and remove unneeded __init__ to make imports work without major rearrange
 - venv and Dockerfile fixups needed for new pyvoltha (cannot install old first)
 - clean up yaml config file as it contained empty entries that failed to parse
 - clean up imports
 - remove itervalues iter*
 - convert to list() as needed
 - test with python 3.6
 - skip non-dict items in tcont loop
 - update to voltha-protos 2.1.0
 - migrate socketserver and simplehttpserver to python3 import

Change-Id: Id8efa72b6796a3055b1927716503a33544bb6548
diff --git a/python/adapters/brcm_openomci_onu/main.py b/python/adapters/brcm_openomci_onu/main.py
index 902ed0e..6e33571 100755
--- a/python/adapters/brcm_openomci_onu/main.py
+++ b/python/adapters/brcm_openomci_onu/main.py
@@ -17,13 +17,14 @@
 
 """OpenONU Adapter main entry point"""
 
+from __future__ import absolute_import
 import argparse
 import os
 import time
 
 import arrow
 import yaml
-import SocketServer
+import socketserver
 
 from packaging.version import Version
 from simplejson import dumps
@@ -46,10 +47,9 @@
 from pyvoltha.adapters.kafka.kafka_proxy import KafkaProxy, get_kafka_proxy
 from voltha_protos.adapter_pb2 import AdapterConfig
 
-from brcm_openomci_onu import BrcmOpenomciOnuAdapter
+from brcm_openomci_onu_adapter import BrcmOpenomciOnuAdapter
 from probe import Probe
 
-
 defs = dict(
     version_file='./VERSION',
     config=os.environ.get('CONFIG', './openonu.yml'),
@@ -299,9 +299,9 @@
         current_time = arrow.utcnow().timestamp
         self.instance_id = self.args.instance_id + '_' + str(current_time)
 
-        self.core_topic = args.core_topic
-        self.event_topic = args.event_topic
-        self.listening_topic = args.name
+        self.core_topic = str(args.core_topic)
+        self.event_topic = str(args.event_topic)
+        self.listening_topic = str(args.name)
         self.startup_components()
 
         if not args.no_heartbeat:
@@ -445,7 +445,7 @@
         args = self.args
         host = args.probe.split(':')[0]
         port = args.probe.split(':')[1]
-        server = SocketServer.TCPServer((host, int(port)), Probe)
+        server = socketserver.TCPServer((host, int(port)), Probe)
         server.serve_forever()
 
     @inlineCallbacks
@@ -509,14 +509,14 @@
                 else:
                     Probe.kafka_cluster_proxy_running = False
                     self.log.error('kafka-proxy-unavailable')
-            except Exception, e:
+            except Exception as e:
                 self.log.exception('failed-sending-message-heartbeat', e=e)
 
         try:
             t0 = time.time()
             lc = LoopingCall(send_msg, t0)
             lc.start(10)
-        except Exception, e:
+        except Exception as e:
             self.log.exception('failed-kafka-heartbeat', e=e)