VOL-1127 Log messages level adjustments

Change-Id: I8c5d7ae34d21bf08d2c2d93aa077133ea1b8d2af
diff --git a/voltha/adapters/brcm_openomci_onu/brcm_openomci_onu.py b/voltha/adapters/brcm_openomci_onu/brcm_openomci_onu.py
index 1e640b2..200fd5b 100644
--- a/voltha/adapters/brcm_openomci_onu/brcm_openomci_onu.py
+++ b/voltha/adapters/brcm_openomci_onu/brcm_openomci_onu.py
@@ -170,7 +170,7 @@
         :param device: A Voltha.Device object.
         :return: Will return result of self test
         """
-        log.info('self-test-device', device=device.id)
+        log.info('self-test-device - Not implemented yet', device=device.id)
         raise NotImplementedError()
 
     def delete_device(self, device):
@@ -201,10 +201,10 @@
         raise NotImplementedError()
 
     def send_proxied_message(self, proxy_address, msg):
-        log.info('send-proxied-message', proxy_address=proxy_address, msg=msg)
+        log.debug('send-proxied-message', proxy_address=proxy_address, msg=msg)
 
     def receive_proxied_message(self, proxy_address, msg):
-        log.info('receive-proxied-message', proxy_address=proxy_address,
+        log.debug('receive-proxied-message', proxy_address=proxy_address,
                  device_id=proxy_address.device_id, msg=hexify(msg))
         # Device_id from the proxy_address is the olt device id. We need to
         # get the onu device id using the port number in the proxy_address
@@ -219,7 +219,7 @@
                  egress_port_no=egress_port_no, msg_len=len(msg))
 
     def receive_inter_adapter_message(self, msg):
-        log.info('receive_inter_adapter_message', msg=msg)
+        log.debug('receive_inter_adapter_message', msg=msg)
         proxy_address = msg['proxy_address']
         assert proxy_address is not None
         # Device_id from the proxy_address is the olt device id. We need to
@@ -233,21 +233,21 @@
             log.error("device-not-found")
 
     def create_interface(self, device, data):
-        log.info('create-interface', device_id=device.id)
+        log.debug('create-interface', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
                 handler.create_interface(data)
 
     def update_interface(self, device, data):
-        log.info('update-interface', device_id=device.id)
+        log.debug('update-interface', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
                 handler.update_interface(data)
 
     def remove_interface(self, device, data):
-        log.info('remove-interface', device_id=device.id)
+        log.debug('remove-interface', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
@@ -257,7 +257,7 @@
         raise NotImplementedError()
 
     def create_tcont(self, device, tcont_data, traffic_descriptor_data):
-        log.info('create-tcont', device_id=device.id)
+        log.debug('create-tcont', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
@@ -267,14 +267,14 @@
         raise NotImplementedError()
 
     def remove_tcont(self, device, tcont_data, traffic_descriptor_data):
-        log.info('remove-tcont', device_id=device.id)
+        log.debug('remove-tcont', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
                 handler.remove_tcont(tcont_data, traffic_descriptor_data)
 
     def create_gemport(self, device, data):
-        log.info('create-gemport', device_id=device.id)
+        log.debug('create-gemport', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
@@ -284,14 +284,14 @@
         raise NotImplementedError()
 
     def remove_gemport(self, device, data):
-        log.info('remove-gemport', device_id=device.id)
+        log.debug('remove-gemport', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
                 handler.remove_gemport(data)
 
     def create_multicast_gemport(self, device, data):
-        log.info('create-multicast-gemport', device_id=device.id)
+        log.debug('create-multicast-gemport', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
diff --git a/voltha/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py b/voltha/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
index f825e5c..8c97f5c 100644
--- a/voltha/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
+++ b/voltha/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
@@ -245,7 +245,7 @@
 
     def delete(self, device):
         self.log.debug('function-entry', device=device)
-        self.log.info('delete-onu')
+        self.log.info('delete-onu - Not implemented yet')
         # The device is already deleted in delete_v_ont_ani(). No more
         # handling needed here
 
@@ -277,70 +277,70 @@
             _push_tpid = None
             _field = None
             _set_vlan_vid = None
-            self.log.info('bulk-flow-update', device_id=device.id, flow=flow)
+            self.log.debug('bulk-flow-update', device_id=device.id, flow=flow)
             try:
                 _in_port = fd.get_in_port(flow)
                 assert _in_port is not None
 
                 if is_downstream(_in_port):
-                    self.log.info('downstream-flow')
+                    self.log.debug('downstream-flow')
                 elif is_upstream(_in_port):
-                    self.log.info('upstream-flow')
+                    self.log.debug('upstream-flow')
                 else:
                     raise Exception('port should be 1 or 2 by our convention')
 
                 _out_port = fd.get_out_port(flow)  # may be None
-                self.log.info('out-port', out_port=_out_port)
+                self.log.debug('out-port', out_port=_out_port)
 
                 for field in fd.get_ofb_fields(flow):
                     if field.type == fd.ETH_TYPE:
                         _type = field.eth_type
-                        self.log.info('field-type-eth-type',
+                        self.log.debug('field-type-eth-type',
                                       eth_type=_type)
 
                     elif field.type == fd.IP_PROTO:
                         _proto = field.ip_proto
-                        self.log.info('field-type-ip-proto',
+                        self.log.debug('field-type-ip-proto',
                                       ip_proto=_proto)
 
                     elif field.type == fd.IN_PORT:
                         _port = field.port
-                        self.log.info('field-type-in-port',
+                        self.log.debug('field-type-in-port',
                                       in_port=_port)
 
                     elif field.type == fd.VLAN_VID:
                         _vlan_vid = field.vlan_vid & 0xfff
-                        self.log.info('field-type-vlan-vid',
+                        self.log.debug('field-type-vlan-vid',
                                       vlan=_vlan_vid)
 
                     elif field.type == fd.VLAN_PCP:
                         _vlan_pcp = field.vlan_pcp
-                        self.log.info('field-type-vlan-pcp',
+                        self.log.debug('field-type-vlan-pcp',
                                       pcp=_vlan_pcp)
 
                     elif field.type == fd.UDP_DST:
                         _udp_dst = field.udp_dst
-                        self.log.info('field-type-udp-dst',
+                        self.log.debug('field-type-udp-dst',
                                       udp_dst=_udp_dst)
 
                     elif field.type == fd.UDP_SRC:
                         _udp_src = field.udp_src
-                        self.log.info('field-type-udp-src',
+                        self.log.debug('field-type-udp-src',
                                       udp_src=_udp_src)
 
                     elif field.type == fd.IPV4_DST:
                         _ipv4_dst = field.ipv4_dst
-                        self.log.info('field-type-ipv4-dst',
+                        self.log.debug('field-type-ipv4-dst',
                                       ipv4_dst=_ipv4_dst)
 
                     elif field.type == fd.IPV4_SRC:
                         _ipv4_src = field.ipv4_src
-                        self.log.info('field-type-ipv4-src',
+                        self.log.debug('field-type-ipv4-src',
                                       ipv4_dst=_ipv4_src)
 
                     elif field.type == fd.METADATA:
                         _metadata = field.table_metadata
-                        self.log.info('field-type-metadata',
+                        self.log.debug('field-type-metadata',
                                       metadata=_metadata)
 
                     else:
@@ -351,16 +351,16 @@
 
                     if action.type == fd.OUTPUT:
                         _output = action.output.port
-                        self.log.info('action-type-output',
+                        self.log.debug('action-type-output',
                                       output=_output, in_port=_in_port)
 
                     elif action.type == fd.POP_VLAN:
-                        self.log.info('action-type-pop-vlan',
+                        self.log.debug('action-type-pop-vlan',
                                       in_port=_in_port)
 
                     elif action.type == fd.PUSH_VLAN:
                         _push_tpid = action.push.ethertype
-                        self.log.info('action-type-push-vlan',
+                        self.log.debug('action-type-push-vlan',
                                  push_tpid=_push_tpid, in_port=_in_port)
                         if action.push.ethertype != 0x8100:
                             self.log.error('unhandled-tpid',
@@ -370,11 +370,11 @@
                         _field = action.set_field.field.ofb_field
                         assert (action.set_field.field.oxm_class ==
                                 OFPXMC_OPENFLOW_BASIC)
-                        self.log.info('action-type-set-field',
+                        self.log.debug('action-type-set-field',
                                       field=_field, in_port=_in_port)
                         if _field.type == fd.VLAN_VID:
                             _set_vlan_vid = _field.vlan_vid & 0xfff
-                            self.log.info('set-field-type-valn-vid', _set_vlan_vid)
+                            self.log.debug('set-field-type-valn-vid', _set_vlan_vid)
                         else:
                             self.log.error('unsupported-action-set-field-type',
                                            field_type=_field.type)
@@ -521,8 +521,7 @@
             self.log.info('not-handled-yet')
 
     def create_gemport(self, data):
-        self.log.debug('function-entry', data=data)
-        self.log.info('create-gemport')
+        self.log.debug('create-gemport', data=data)
         gem_portdata = GemportsConfigData()
         gem_portdata.CopyFrom(data)
 
@@ -545,8 +544,7 @@
 
     @inlineCallbacks
     def remove_gemport(self, data):
-        self.log.debug('function-entry', data=data)
-        self.log.info('remove-gemport')
+        self.log.debug('remove-gemport', data=data)
         gem_port = GemportsConfigData()
         gem_port.CopyFrom(data)
         device = self.adapter_agent.get_device(self.device_id)
@@ -559,8 +557,7 @@
 
 
     def create_tcont(self, tcont_data, traffic_descriptor_data):
-        self.log.debug('function-entry', tcont_data=tcont_data, traffic_descriptor_data=traffic_descriptor_data)
-        self.log.info('create-tcont')
+        self.log.debug('create-tcont', tcont_data=tcont_data, traffic_descriptor_data=traffic_descriptor_data)
         tcontdata = TcontsConfigData()
         tcontdata.CopyFrom(tcont_data)
 
@@ -589,12 +586,11 @@
         if tcontdata.interface_reference is not None:
             self.log.debug('tcont', tcont=tcont.alloc_id)
         else:
-            self.log.info('recevied-null-tcont-data', tcont=tcont.alloc_id)
+            self.log.info('received-null-tcont-data', tcont=tcont.alloc_id)
 
     @inlineCallbacks
     def remove_tcont(self, tcont_data, traffic_descriptor_data):
-        self.log.debug('function-entry', tcont_data=tcont_data, traffic_descriptor_data=traffic_descriptor_data)
-        self.log.info('remove-tcont')
+        self.log.debug('remove-tcont', tcont_data=tcont_data, traffic_descriptor_data=traffic_descriptor_data)
         device = self.adapter_agent.get_device(self.device_id)
         if device.connect_status != ConnectStatus.REACHABLE:
             self.log.error('device-unreachable')
@@ -671,7 +667,6 @@
 
     @inlineCallbacks
     def reboot(self):
-        self.log.debug('function-entry')
         self.log.info('reboot-device')
         device = self.adapter_agent.get_device(self.device_id)
         if device.connect_status != ConnectStatus.REACHABLE:
@@ -685,7 +680,7 @@
             omci_response = response.getfieldval("omci_message")
             success_code = omci_response.getfieldval("success_code")
             if success_code == 0:
-                self.log.info("reboot-command-processed-successfully")
+                self.log.debug("reboot-command-processed-successfully")
                 # Update the device connection and operation status
                 device = self.adapter_agent.get_device(self.device_id)
                 device.connect_status = ConnectStatus.UNREACHABLE
@@ -693,13 +688,13 @@
                 self.adapter_agent.update_device(device)
                 self.disable_ports(device)
             else:
-                self.log.info("reboot-failed", success_code=success_code)
+                self.log.error("reboot-failed", success_code=success_code)
         else:
-            self.log.info("error-in-processing-reboot-response")
+            self.log.error("error-in-processing-reboot-response")
 
     def disable_ports(self, onu_device):
-        self.log.debug('function-entry', onu_device=onu_device)
-        self.log.info('disable-ports', device_id=self.device_id)
+        self.log.info('disable-ports', device_id=self.device_id,
+                   onu_device=onu_device)
 
         # Disable all ports on that device
         self.adapter_agent.disable_all_ports(self.device_id)
@@ -715,8 +710,7 @@
             self.update_logical_port(logical_device_id, port_id, OFPPS_LINK_DOWN)
 
     def enable_ports(self, onu_device):
-        self.log.debug('function-entry', onu_device=onu_device)
-        self.log.info('enable-ports', device_id=self.device_id)
+        self.log.info('enable-ports', device_id=self.device_id, onu_device=onu_device)
 
         # Disable all ports on that device
         self.adapter_agent.enable_all_ports(self.device_id)
@@ -903,13 +897,11 @@
                 self._in_sync_reached = True
 
                 def success(_results):
-                    self.log.debug('function-entry', _results=_results)
-                    self.log.info('mib-download-success')
+                    self.log.info('mib-download-success', _results=_results)
                     self._mib_download_task = None
 
                 def failure(_reason):
-                    self.log.debug('function-entry', _reason=_reason)
-                    self.log.info('mib-download-failure')
+                    self.log.info('mib-download-failure', _reason=_reason)
                     self._deferred = reactor.callLater(10, self._mib_download_task)
 
                 self._mib_download_task = BrcmMibDownloadTask(self.omci_agent, self)
diff --git a/voltha/adapters/broadcom_onu/broadcom_onu.py b/voltha/adapters/broadcom_onu/broadcom_onu.py
index 6e17c8c..9618ee7 100644
--- a/voltha/adapters/broadcom_onu/broadcom_onu.py
+++ b/voltha/adapters/broadcom_onu/broadcom_onu.py
@@ -118,6 +118,7 @@
         reactor.callLater(0, self.devices_handlers[device.id].reconcile, device)
 
     def abandon_device(self, device):
+        log.info('abadon-device - Not implemented')
         raise NotImplementedError()
 
     def disable_device(self, device):
@@ -162,7 +163,7 @@
         :param device: A Voltha.Device object.
         :return: Will return result of self test
         """
-        log.info('self-test-device', device=device.id)
+        log.info('self-test-device - Not implemented', device=device.id)
         raise NotImplementedError()
 
     def delete_device(self, device):
@@ -196,10 +197,10 @@
         raise NotImplementedError()
 
     def send_proxied_message(self, proxy_address, msg):
-        log.info('send-proxied-message', proxy_address=proxy_address, msg=msg)
+        log.debug('send-proxied-message', proxy_address=proxy_address, msg=msg)
 
     def receive_proxied_message(self, proxy_address, msg):
-        log.info('receive-proxied-message', proxy_address=proxy_address,
+        log.debug('receive-proxied-message', proxy_address=proxy_address,
                  device_id=proxy_address.device_id, msg=hexify(msg))
         # Device_id from the proxy_address is the olt device id. We need to
         # get the onu device id using the port number in the proxy_address
@@ -214,7 +215,7 @@
                  egress_port_no=egress_port_no, msg_len=len(msg))
 
     def receive_inter_adapter_message(self, msg):
-        log.info('receive_inter_adapter_message', msg=msg)
+        log.debug('receive_inter_adapter_message', msg=msg)
         proxy_address = msg['proxy_address']
         assert proxy_address is not None
         # Device_id from the proxy_address is the olt device id. We need to
@@ -228,21 +229,21 @@
             log.error("device-not-found")
 
     def create_interface(self, device, data):
-        log.info('create-interface', device_id=device.id)
+        log.debug('create-interface', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
                 handler.create_interface(data)
 
     def update_interface(self, device, data):
-        log.info('update-interface', device_id=device.id)
+        log.debug('update-interface', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
                 handler.update_interface(data)
 
     def remove_interface(self, device, data):
-        log.info('remove-interface', device_id=device.id)
+        log.debug('remove-interface', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
@@ -252,7 +253,7 @@
         raise NotImplementedError()
 
     def create_tcont(self, device, tcont_data, traffic_descriptor_data):
-        log.info('create-tcont', device_id=device.id)
+        log.debug('create-tcont', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
@@ -262,14 +263,14 @@
         raise NotImplementedError()
 
     def remove_tcont(self, device, tcont_data, traffic_descriptor_data):
-        log.info('remove-tcont', device_id=device.id)
+        log.debug('remove-tcont', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
                 handler.remove_tcont(tcont_data, traffic_descriptor_data)
 
     def create_gemport(self, device, data):
-        log.info('create-gemport', device_id=device.id)
+        log.debug('create-gemport', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
@@ -279,14 +280,14 @@
         raise NotImplementedError()
 
     def remove_gemport(self, device, data):
-        log.info('remove-gemport', device_id=device.id)
+        log.debug('remove-gemport', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
                 handler.remove_gemport(data)
 
     def create_multicast_gemport(self, device, data):
-        log.info('create-multicast-gemport', device_id=device.id)
+        log.debug('create-multicast-gemport', device_id=device.id)
         if device.id in self.devices_handlers:
             handler = self.devices_handlers[device.id]
             if handler is not None:
@@ -466,10 +467,12 @@
         device = self.adapter_agent.get_device(device.id)
         device.oper_status = OperStatus.DISCOVERED
         self.adapter_agent.update_device(device)
+        self.log.info('activated')
+
 
     def reconcile(self, device):
 
-        self.log.info('reconciling-broadcom-onu-device-starts')
+        self.log.debug('reconciling-broadcom-onu-device-starts')
 
         # first we verify that we got parent reference and proxy info
         assert device.parent_id
@@ -486,7 +489,7 @@
 
     def update_logical_port(self, logical_device_id, port_id, state):
         try:
-            self.log.info('updating-logical-port', logical_port_id=port_id,
+            self.log.debug('updating-logical-port', logical_port_id=port_id,
                           logical_device_id=logical_device_id, state=state)
             logical_port = self.adapter_agent.get_logical_port(logical_device_id,
                                                                port_id)
@@ -503,7 +506,7 @@
         parent_device = self.adapter_agent.get_device(device.parent_id)
         if parent_device.type == 'openolt':
             parent_adapter = registry('adapter_loader').get_agent(parent_device.adapter).adapter
-            self.log.info('parent-adapter-delete-onu', onu_device=device,
+            self.log.debug('parent-adapter-delete-onu', onu_device=device,
                           parent_device=parent_device,
                           parent_adapter=parent_adapter)
             try:
@@ -538,70 +541,70 @@
             _push_tpid = None
             _field = None
             _set_vlan_vid = None
-            self.log.info('bulk-flow-update', device_id=device.id, flow=flow)
+            self.log.debug('bulk-flow-update', device_id=device.id, flow=flow)
             try:
                 _in_port = fd.get_in_port(flow)
                 assert _in_port is not None
 
                 if is_downstream(_in_port):
-                    self.log.info('downstream-flow')
+                    self.log.debug('downstream-flow')
                 elif is_upstream(_in_port):
-                    self.log.info('upstream-flow')
+                    self.log.debug('upstream-flow')
                 else:
                     raise Exception('port should be 1 or 2 by our convention')
 
                 _out_port = fd.get_out_port(flow)  # may be None
-                self.log.info('out-port', out_port=_out_port)
+                self.log.debug('out-port', out_port=_out_port)
 
                 for field in fd.get_ofb_fields(flow):
                     if field.type == fd.ETH_TYPE:
                         _type = field.eth_type
-                        self.log.info('field-type-eth-type',
+                        self.log.debug('field-type-eth-type',
                                       eth_type=_type)
 
                     elif field.type == fd.IP_PROTO:
                         _proto = field.ip_proto
-                        self.log.info('field-type-ip-proto',
+                        self.log.debug('field-type-ip-proto',
                                       ip_proto=_proto)
 
                     elif field.type == fd.IN_PORT:
                         _port = field.port
-                        self.log.info('field-type-in-port',
+                        self.log.debug('field-type-in-port',
                                       in_port=_port)
 
                     elif field.type == fd.VLAN_VID:
                         _vlan_vid = field.vlan_vid & 0xfff
-                        self.log.info('field-type-vlan-vid',
+                        self.log.debug('field-type-vlan-vid',
                                       vlan=_vlan_vid)
 
                     elif field.type == fd.VLAN_PCP:
                         _vlan_pcp = field.vlan_pcp
-                        self.log.info('field-type-vlan-pcp',
+                        self.log.debug('field-type-vlan-pcp',
                                       pcp=_vlan_pcp)
 
                     elif field.type == fd.UDP_DST:
                         _udp_dst = field.udp_dst
-                        self.log.info('field-type-udp-dst',
+                        self.log.debug('field-type-udp-dst',
                                       udp_dst=_udp_dst)
 
                     elif field.type == fd.UDP_SRC:
                         _udp_src = field.udp_src
-                        self.log.info('field-type-udp-src',
+                        self.log.debug('field-type-udp-src',
                                       udp_src=_udp_src)
 
                     elif field.type == fd.IPV4_DST:
                         _ipv4_dst = field.ipv4_dst
-                        self.log.info('field-type-ipv4-dst',
+                        self.log.debug('field-type-ipv4-dst',
                                       ipv4_dst=_ipv4_dst)
 
                     elif field.type == fd.IPV4_SRC:
                         _ipv4_src = field.ipv4_src
-                        self.log.info('field-type-ipv4-src',
+                        self.log.debug('field-type-ipv4-src',
                                       ipv4_dst=_ipv4_src)
 
                     elif field.type == fd.METADATA:
                         _metadata = field.table_metadata
-                        self.log.info('field-type-metadata',
+                        self.log.debug('field-type-metadata',
                                       metadata=_metadata)
 
                     else:
@@ -612,16 +615,16 @@
 
                     if action.type == fd.OUTPUT:
                         _output = action.output.port
-                        self.log.info('action-type-output',
+                        self.log.debug('action-type-output',
                                       output=_output, in_port=_in_port)
 
                     elif action.type == fd.POP_VLAN:
-                        self.log.info('action-type-pop-vlan',
+                        self.log.debug('action-type-pop-vlan',
                                       in_port=_in_port)
 
                     elif action.type == fd.PUSH_VLAN:
                         _push_tpid = action.push.ethertype
-                        self.log.info('action-type-push-vlan',
+                        self.log.debug('action-type-push-vlan',
                                  push_tpid=_push_tpid, in_port=_in_port)
                         if action.push.ethertype != 0x8100:
                             self.log.error('unhandled-tpid',
@@ -631,11 +634,11 @@
                         _field = action.set_field.field.ofb_field
                         assert (action.set_field.field.oxm_class ==
                                 OFPXMC_OPENFLOW_BASIC)
-                        self.log.info('action-type-set-field',
+                        self.log.debug('action-type-set-field',
                                       field=_field, in_port=_in_port)
                         if _field.type == fd.VLAN_VID:
                             _set_vlan_vid = _field.vlan_vid & 0xfff
-                            self.log.info('set-field-type-valn-vid', _set_vlan_vid)
+                            self.log.debug('set-field-type-valn-vid', _set_vlan_vid)
                         else:
                             self.log.error('unsupported-action-set-field-type',
                                            field_type=_field.type)
@@ -690,12 +693,12 @@
 
     def send_omci_message(self, frame):
         _frame = hexify(str(frame))
-        self.log.info('send-omci-message-%s' % _frame)
+        self.log.debug('send-omci-message-%s' % _frame)
         device = self.adapter_agent.get_device(self.device_id)
         try:
             self.adapter_agent.send_proxied_message(device.proxy_address, _frame)
         except Exception as e:
-            self.log.info('send-omci-message-exception', exc=str(e))
+            self.log.warn('send-omci-message-exception', exc=str(e))
 
     def send_get_circuit_pack(self, entity_id=0):
         frame = OmciFrame(
@@ -1367,10 +1370,10 @@
 
     @inlineCallbacks
     def wait_for_response(self):
-        self.log.info('wait-for-response')
+        self.log.debug('wait-for-response')
         try:
             response = yield self.incoming_messages.get()
-            self.log.info('got-response')
+            self.log.debug('got-response')
             resp = OmciFrame(response)
             resp.show()
             returnValue(resp)
@@ -1537,7 +1540,7 @@
 
     def del_uni_port(self, device, parent_logical_device_id,
                      name, parent_port_num=None):
-        self.log.info('del-uni-port', device_id=device.id,
+        self.log.debug('del-uni-port', device_id=device.id,
                       logical_device_id=parent_logical_device_id,
                       name=name)
         if parent_port_num is not None:
@@ -1655,7 +1658,7 @@
 
     @inlineCallbacks
     def create_gemport(self, data):
-        self.log.info('create-gemport')
+        self.log.debug('create-gemport')
         gem_port = GemportsConfigData()
         gem_port.CopyFrom(data)
         if gem_port.tcont_ref is None:
@@ -1685,7 +1688,7 @@
 
     @inlineCallbacks
     def remove_gemport(self, data):
-        self.log.info('remove-gemport')
+        self.log.debug('remove-gemport')
         gem_port = GemportsConfigData()
         gem_port.CopyFrom(data)
         device = self.adapter_agent.get_device(self.device_id)
@@ -1708,7 +1711,7 @@
 
     @inlineCallbacks
     def create_tcont(self, tcont_data, traffic_descriptor_data):
-        self.log.info('create-tcont')
+        self.log.debug('create-tcont')
         tcont = TcontsConfigData()
         tcont.CopyFrom(tcont_data)
         if tcont.interface_reference is not None:
@@ -1720,7 +1723,7 @@
 
     @inlineCallbacks
     def remove_tcont(self, tcont_data, traffic_descriptor_data):
-        self.log.info('remove-tcont')
+        self.log.debug('remove-tcont')
         device = self.adapter_agent.get_device(self.device_id)
         if device.connect_status != ConnectStatus.REACHABLE:
             self.log.error('device-unreachable')
@@ -1730,7 +1733,7 @@
         yield self.wait_for_response()
 
     def create_multicast_gemport(self, data):
-        self.log.info('Send relevant OMCI message')
+        self.log.info('Send relevant OMCI message - Not implemented yet')
 
     @inlineCallbacks
     def disable(self, device):
@@ -1788,7 +1791,7 @@
                 omci_response = response.getfieldval("omci_message")
                 success_code = omci_response.getfieldval("success_code")
                 if success_code == 0:
-                    self.log.info("reboot-command-processed-successfully")
+                    self.log.debug("reboot-command-processed-successfully")
                     # Update the device connection and operation status
                     device = self.adapter_agent.get_device(self.device_id)
                     device.connect_status = ConnectStatus.UNREACHABLE
@@ -1796,11 +1799,11 @@
                     self.adapter_agent.update_device(device)
                     self.disable_ports(device)
                 else:
-                    self.log.info("reboot-failed", success_code=success_code)
+                    self.log.error("reboot-failed", success_code=success_code)
             else:
-                self.log.info("error-in-processing-reboot-response")
+                self.log.error("error-in-processing-reboot-response")
         except Exception as e:
-            self.log.info('wait-for-response-exception', exc=str(e))
+            self.log.error('wait-for-response-exception', exc=str(e))
 
     def disable_ports(self, device):
         self.log.info('disable-ports', device_id=self.device_id)
diff --git a/voltha/adapters/openolt/openolt.py b/voltha/adapters/openolt/openolt.py
index 93be301..634040d 100644
--- a/voltha/adapters/openolt/openolt.py
+++ b/voltha/adapters/openolt/openolt.py
@@ -145,27 +145,32 @@
         handler.reboot()
 
     def download_image(self, device, request):
-        log.info('image_download', device=device, request=request)
+        log.info('image_download - Not implemented yet', device=device,
+                 request=request)
         raise NotImplementedError()
 
     def get_image_download_status(self, device, request):
-        log.info('get_image_download', device=device, request=request)
+        log.info('get_image_download - Not implemented yet', device=device,
+                 request=request)
         raise NotImplementedError()
 
     def cancel_image_download(self, device, request):
-        log.info('cancel_image_download', device=device)
+        log.info('cancel_image_download - Not implemented yet', device=device)
         raise NotImplementedError()
 
     def activate_image_update(self, device, request):
-        log.info('activate_image_update', device=device, request=request)
+        log.info('activate_image_update - Not implemented yet',
+                 device=device, request=request)
         raise NotImplementedError()
 
     def revert_image_update(self, device, request):
-        log.info('revert_image_update', device=device, request=request)
+        log.info('revert_image_update - Not implemented yet',
+                 device=device, request=request)
         raise NotImplementedError()
 
     def self_test_device(self, device):
         # from voltha.protos.voltha_pb2 import SelfTestResponse
+        log.info('Not implemented yet')
         raise NotImplementedError()
 
     def delete_device(self, device):
@@ -180,7 +185,9 @@
 
     def update_flows_bulk(self, device, flows, groups):
         log.info('bulk-flow-update', device_id=device.id,
-                 flows=flows, groups=groups)
+                 number_of_flows=len(flows.items), number_of_groups=len(
+                groups.items))
+        log.debug('flows and grousp details', flows=flows, groups=groups)
         assert len(groups.items) == 0, "Cannot yet deal with groups"
         handler = self.devices[device.id]
         return handler.update_flow_table(flows.items)
@@ -188,10 +195,13 @@
     def update_flows_incrementally(self, device, flow_changes, group_changes):
         log.debug('update_flows_incrementally', device=device,
                   flow_changes=flow_changes, group_changes=group_changes)
+        log.info('This device does not allow this, therefore it is Not '
+                 'implemented')
         raise NotImplementedError()
 
     def update_pm_config(self, device, pm_configs):
-        log.debug('update_pm_config', device=device, pm_configs=pm_configs)
+        log.info('update_pm_config - Not implemented yet', device=device,
+                  pm_configs=pm_configs)
         raise NotImplementedError()
 
     def send_proxied_message(self, proxy_address, msg):
@@ -200,7 +210,8 @@
         handler.send_proxied_message(proxy_address, msg)
 
     def receive_proxied_message(self, proxy_address, msg):
-        log.debug('receive_proxied_message', proxy_address=proxy_address,
+        log.debug('receive_proxied_message - Not implemented',
+                  proxy_address=proxy_address,
                   msg=msg)
         raise NotImplementedError()
 
@@ -221,92 +232,110 @@
         handler.packet_out(egress_port_no, msg)
 
     def receive_inter_adapter_message(self, msg):
-        log.info('rx_inter_adapter_msg')
+        log.info('rx_inter_adapter_msg - Not implemented')
         raise NotImplementedError()
 
     def suppress_alarm(self, filter):
-        log.info('suppress_alarm', filter=filter)
+        log.info('suppress_alarm - Not implemented yet', filter=filter)
         raise NotImplementedError()
 
     def unsuppress_alarm(self, filter):
-        log.info('unsuppress_alarm', filter=filter)
+        log.info('unsuppress_alarm - Not implemented yet', filter=filter)
         raise NotImplementedError()
 
     # PON Mgnt APIs #
     def create_interface(self, device, data):
-        log.debug('create-interface', data=data)
+        log.debug('create-interface - Not implemented - We do not use this',
+                  data=data)
         raise NotImplementedError()
 
     def update_interface(self, device, data):
-        log.debug('update-interface', data=data)
+        log.debug('update-interface - Not implemented - We do not use this',
+                  data=data)
         raise NotImplementedError()
 
     def remove_interface(self, device, data):
-        log.debug('remove-interface', data=data)
+        log.debug('remove-interface - Not implemented - We do not use this',
+                  data=data)
         raise NotImplementedError()
 
     def receive_onu_detect_state(self, proxy_address, state):
-        log.debug('receive-onu-detect-state', proxy_address=proxy_address,
+        log.debug('receive-onu-detect-state - Not implemented - We do not '
+                  'use this', proxy_address=proxy_address,
                   state=state)
         raise NotImplementedError()
 
     def create_tcont(self, device, tcont_data, traffic_descriptor_data):
-        log.info('create-tcont', tcont_data=tcont_data,
+        log.info('create-tcont - Not implemented - We do not use this',
+                 tcont_data=tcont_data,
                  traffic_descriptor_data=traffic_descriptor_data)
         raise NotImplementedError()
 
     def update_tcont(self, device, tcont_data, traffic_descriptor_data):
-        log.info('update-tcont', tcont_data=tcont_data,
+        log.info('update-tcont - Not implemented - We do not use this',
+                 tcont_data=tcont_data,
                  traffic_descriptor_data=traffic_descriptor_data)
         raise NotImplementedError()
 
     def remove_tcont(self, device, tcont_data, traffic_descriptor_data):
-        log.info('remove-tcont', tcont_data=tcont_data,
+        log.info('remove-tcont - Not implemented - We do not use this',
+                 tcont_data=tcont_data,
                  traffic_descriptor_data=traffic_descriptor_data)
         raise NotImplementedError()
 
     def create_gemport(self, device, data):
-        log.info('create-gemport', data=data)
+        log.info('create-gemport - Not implemented - We do not use this',
+                 data=data)
         raise NotImplementedError()
 
     def update_gemport(self, device, data):
-        log.info('update-gemport', data=data)
+        log.info('update-gemport - Not implemented - We do not use this',
+                 data=data)
         raise NotImplementedError()
 
     def remove_gemport(self, device, data):
-        log.info('remove-gemport', data=data)
+        log.info('remove-gemport - Not implemented - We do not use this',
+                 data=data)
         raise NotImplementedError()
 
     def create_multicast_gemport(self, device, data):
-        log.info('create-mcast-gemport', data=data)
+        log.info('create-mcast-gemport  - Not implemented - We do not use '
+                 'this', data=data)
         raise NotImplementedError()
 
     def update_multicast_gemport(self, device, data):
-        log.info('update-mcast-gemport', data=data)
+        log.info('update-mcast-gemport - Not implemented - We do not use '
+                 'this', data=data)
         raise NotImplementedError()
 
     def remove_multicast_gemport(self, device, data):
-        log.info('remove-mcast-gemport', data=data)
+        log.info('remove-mcast-gemport - Not implemented - We do not use '
+                 'this', data=data)
         raise NotImplementedError()
 
     def create_multicast_distribution_set(self, device, data):
-        log.info('create-mcast-distribution-set', data=data)
+        log.info('create-mcast-distribution-set - Not implemented - We do '
+                 'not use this', data=data)
         raise NotImplementedError()
 
     def update_multicast_distribution_set(self, device, data):
-        log.info('update-mcast-distribution-set', data=data)
+        log.info('update-mcast-distribution-set - Not implemented - We do '
+                 'not use this', data=data)
         raise NotImplementedError()
 
     def remove_multicast_distribution_set(self, device, data):
-        log.info('remove-mcast-distribution-set', data=data)
+        log.info('remove-mcast-distribution-set - Not implemented - We do '
+                 'not use this', data=data)
         raise NotImplementedError()
 
     def disable_child_device(self, parent_device_id, child_device):
-        log.info('disable-child_device', parent_device_id=parent_device_id, child_device=child_device)
+        log.info('disable-child_device', parent_device_id=parent_device_id,
+                 child_device=child_device)
         handler = self.devices[parent_device_id]
         handler.disable_child_device(child_device)
 
     def delete_child_device(self, parent_device_id, child_device):
-        log.info('delete-child_device', parent_device_id=parent_device_id, child_device=child_device)
+        log.info('delete-child_device', parent_device_id=parent_device_id,
+                 child_device=child_device)
         handler = self.devices[parent_device_id]
         handler.delete_child_device(child_device)
diff --git a/voltha/adapters/openolt/openolt_bw.py b/voltha/adapters/openolt/openolt_bw.py
index 77e52d1..7c70b78 100644
--- a/voltha/adapters/openolt/openolt_bw.py
+++ b/voltha/adapters/openolt/openolt_bw.py
@@ -30,7 +30,7 @@
             bw = self.proxy.get(
                 '/traffic_descriptor_profiles/{}'.format(serial_number))
         except KeyError:
-            self.log.info('bandwidth not configured',
+            self.log.debug('bandwidth not configured',
                           serial_number=serial_number)
             try:
                 bw = self.proxy.get('/traffic_descriptor_profiles/{}' \
diff --git a/voltha/adapters/openolt/openolt_device.py b/voltha/adapters/openolt/openolt_device.py
index ec587f7..61e434c 100644
--- a/voltha/adapters/openolt/openolt_device.py
+++ b/voltha/adapters/openolt/openolt_device.py
@@ -164,9 +164,11 @@
             reactor.callFromThread(self.go_state_up, reconciliation=True)
         '''
 
-        self.log.debug('openolt-device-created', device_id=self.device_id)
+        self.log.info('openolt-device-created', device_id=self.device_id)
 
     def do_state_connected(self, event):
+        self.log.debug("do_state_connected")
+
         device = self.adapter_agent.get_device(self.device_id)
         device.connect_status = ConnectStatus.REACHABLE
         self.adapter_agent.update_device(device)
@@ -180,6 +182,8 @@
         self.bw_mgr = OpenOltBW(self.log, self.proxy)
 
     def do_state_up(self, event):
+        self.log.debug("do_state_up")
+
         device = self.adapter_agent.get_device(self.device_id)
 
         # Update phys OF device
@@ -238,7 +242,7 @@
         self.log.debug('starting-indications-thread')
         self.log.debug('connecting to olt', device_id=self.device_id)
         self.channel_ready_future.result()  # blocking call
-        self.log.debug('connected to olt', device_id=self.device_id)
+        self.log.info('connected to olt', device_id=self.device_id)
         self.go_state_connected()
 
         self.indications = self.stub.EnableIndication(openolt_pb2.Empty())
@@ -438,7 +442,8 @@
 
         if onu_device.proxy_address.onu_id != onu_indication.onu_id:
             # FIXME - handle onu id mismatch
-            self.log.warn('ONU-id-mismatch',
+            self.log.warn('ONU-id-mismatch, can happen if both voltha and '
+                          'the olt rebooted',
                           expected_onu_id=onu_device.proxy_address.onu_id,
                           received_onu_id=onu_indication.onu_id)
 
@@ -591,7 +596,7 @@
                 onu_adapter_agent.create_gemport(onu_device, gem_port)
 
             else:
-                self.log.warn('unsupported-openolt-onu-adapter')
+                self.log.error('unsupported-openolt-onu-adapter')
 
         else:
             self.log.warn('Not-implemented-or-invalid-value-of-oper-state',
@@ -685,7 +690,7 @@
 
             send_pkt = binascii.unhexlify(str(payload).encode("HEX"))
 
-            self.log.info(
+            self.log.debug(
                 'sending-packet-to-ONU', egress_port=egress_port,
                 intf_id=platform.intf_id_from_uni_port_num(egress_port),
                 onu_id=platform.onu_id_from_port_num(egress_port),
@@ -699,7 +704,7 @@
             self.stub.OnuPacketOut(onu_pkt)
 
         elif egress_port_type == Port.ETHERNET_NNI:
-            self.log.info('sending-packet-to-uplink', egress_port=egress_port,
+            self.log.debug('sending-packet-to-uplink', egress_port=egress_port,
                           packet=str(pkt).encode("HEX"))
 
             send_pkt = binascii.unhexlify(str(pkt).encode("HEX"))
@@ -729,7 +734,7 @@
                                             channel_id=intf_id, onu_id=onu_id,
                                             onu_session_id=onu_id)
 
-        self.log.info("Adding ONU", proxy_address=proxy_address)
+        self.log.debug("Adding ONU", proxy_address=proxy_address)
 
         serial_number_str = self.stringify_serial_number(serial_number)
 
@@ -793,7 +798,7 @@
 
         label = self.port_name(port_no, port_type, intf_id)
 
-        self.log.info('adding-port', port_no=port_no, label=label,
+        self.log.debug('adding-port', port_no=port_no, label=label,
                       port_type=port_type)
 
         port = Port(port_no=port_no, label=label, type=port_type,
@@ -835,7 +840,6 @@
 
         device = self.adapter_agent.get_device(self.device_id)
         self.log.debug('update flow table', number_of_flows=len(flows))
-        in_port = None
 
         for flow in flows:
             is_down_stream = None
@@ -847,12 +851,12 @@
 
             for port in ports:
                 if (port.port_no == in_port):
-                    self.log.info('downstream-flow')
+                    self.log.debug('downstream-flow', in_port=in_port)
                     is_down_stream = True
                     break
             if is_down_stream is None:
                 is_down_stream = False
-                self.log.info('upstream-flow')
+                self.log.debug('upstream-flow', in_port=in_port)
 
             for flow in flows:
                 try:
@@ -897,39 +901,23 @@
 
 
     def delete(self):
-        self.log.info('delete-olt', device_id=self.device_id)
+        self.log.info('delete-olt - Not implemented yet',
+                      device_id=self.device_id)
 
-        # Stop the grpc communication threads
-        self.log.info('stopping-grpc-threads', device_id=self.device_id)
-
-        # Close the grpc channel
-        # self.log.info('unsubscribing-grpc-channel', device_id=self.device_id)
-        # self.channel.unsubscribe()
-
-        self.log.info('successfully-deleted-olt', device_id=self.device_id)
 
     def reenable(self):
         self.log.debug('reenabling-olt', device_id=self.device_id)
 
         try:
             self.stub.ReenableOlt(openolt_pb2.Empty())
-            # The resulting indication will bring up  the OLT
-            # self.go_state_up()
 
-            # We can't enable all child devices, what if they had been
-            # individually disabled before ? For the same reason we can't
-            # disable them all on disable of the olt
-
-            # self.log.info('enabling-child-devices', olt_device_id=self.device_id)
-            # self.adapter_agent.update_child_devices_state(
-            #     parent_device_id=self.device_id,
-            #     admin_state=AdminState.ENABLED)
-            #  Set all ports to enabled
             self.log.info('enabling-all-ports', device_id=self.device_id)
             self.adapter_agent.enable_all_ports(self.device_id)
-            self.log.info('openolt device reenabled')
         except Exception as e:
             self.log.error('Failure to reenable openolt device', error=e)
+        else:
+            self.log.info('openolt device reenabled')
+
 
 
     def disable_child_device(self, child_device):
diff --git a/voltha/adapters/openolt/openolt_flow_mgr.py b/voltha/adapters/openolt/openolt_flow_mgr.py
index d6cc7b6..48c877d 100644
--- a/voltha/adapters/openolt/openolt_flow_mgr.py
+++ b/voltha/adapters/openolt/openolt_flow_mgr.py
@@ -380,7 +380,7 @@
         elif 'trap_to_host' in action_info:
             action.cmd.trap_to_host = True
         else:
-            self.log.info('Invalid-action-field')
+            self.log.info('Invalid-action-field', action_info=action_info)
             return
         return action
 
diff --git a/voltha/adapters/openolt/openolt_statistics.py b/voltha/adapters/openolt/openolt_statistics.py
index dee695f..f001028 100644
--- a/voltha/adapters/openolt/openolt_statistics.py
+++ b/voltha/adapters/openolt/openolt_statistics.py
@@ -60,9 +60,10 @@
         # TODO: send to kafka ?
         # FIXME: etcd problem, do not update objects for now
         # # UNTESTED : the openolt driver does not yet provide flow stats
-        # self.device.adapter_agent.update_flow_stats(self.device.logical_device_id,
-        #     flow_id=flow_stats.flow_id, packet_count=flow_stats.tx_packets,
-        #     byte_count=flow_stats.tx_bytes)
+        # self.device.adapter_agent.update_flow_stats(
+        #       self.device.logical_device_id,
+        #       flow_id=flow_stats.flow_id, packet_count=flow_stats.tx_packets,
+        #       byte_count=flow_stats.tx_bytes)
 
     def ports_statistics_kpis(self, port_stats):
         pm_data = {}
diff --git a/voltha/core/adapter_agent.py b/voltha/core/adapter_agent.py
index 19f03f6..2ca627f 100644
--- a/voltha/core/adapter_agent.py
+++ b/voltha/core/adapter_agent.py
@@ -508,7 +508,7 @@
         :return: None
         """
         assert isinstance(port, Port)
-        self.log.info('delete-port-reference', device_id=device_id, port=port)
+        self.log.debug('delete-port-reference', device_id=device_id, port=port)
         self._del_peer_reference(device_id, port)
 
         # update child port details
@@ -523,7 +523,7 @@
         :return: None
         """
         assert isinstance(port, Port)
-        self.log.info('add-port-reference', device_id=device_id, port=port)
+        self.log.debug('add-port-reference', device_id=device_id, port=port)
         self._add_peer_reference(device_id, port)
         # update child port details
         self._make_up_to_date('/devices/{}/ports'.format(device_id),
diff --git a/voltha/core/device_agent.py b/voltha/core/device_agent.py
index 0174ae6..d0247bd 100644
--- a/voltha/core/device_agent.py
+++ b/voltha/core/device_agent.py
@@ -80,7 +80,7 @@
 
     @inlineCallbacks
     def start(self, device=None, reconcile=False):
-        self.log.info('starting', device=device)
+        self.log.debug('starting', device=device)
         self._set_adapter_agent()
         if device:
             # Starting from an existing data, so set the last_data
diff --git a/voltha/core/global_handler.py b/voltha/core/global_handler.py
index ee7901a..b0bcef9 100644
--- a/voltha/core/global_handler.py
+++ b/voltha/core/global_handler.py
@@ -120,19 +120,19 @@
 
     @twisted_async
     def GetVoltha(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         return self.root.get('/', depth=1)
 
     @twisted_async
     def ListVolthaInstances(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         items = self.dispatcher.get_cluster_instances()
         return VolthaInstances(items=items)
 
     @twisted_async
     @inlineCallbacks
     def GetVolthaInstance(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         core_id = self.dispatcher.get_core_id_from_instance_id(request.id)
         if not core_id:
             log.info('invalid-instance-id', instance=request.id)
@@ -157,7 +157,7 @@
     @twisted_async
     @inlineCallbacks
     def ListLogicalDevices(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListLogicalDevices',
                                                   Empty(),
                                                   context,
@@ -168,7 +168,7 @@
     @twisted_async
     @inlineCallbacks
     def GetLogicalDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         response = yield self.dispatcher.dispatch('GetLogicalDevice',
                                                   request,
@@ -188,7 +188,7 @@
     @twisted_async
     @inlineCallbacks
     def ListLogicalDevicePorts(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         response = yield self.dispatcher.dispatch('ListLogicalDevicePorts',
                                                   request,
@@ -208,7 +208,7 @@
     @twisted_async
     @inlineCallbacks
     def GetLogicalDevicePort(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         response = yield self.dispatcher.dispatch('GetLogicalDevicePort',
                                                   request,
@@ -228,7 +228,7 @@
     @twisted_async
     @inlineCallbacks
     def ListLogicalDeviceFlows(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListLogicalDeviceFlows',
                                                   request,
                                                   context,
@@ -247,7 +247,7 @@
     @twisted_async
     @inlineCallbacks
     def EnableLogicalDevicePort(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('EnableLogicalDevicePort',
                                                   request,
                                                   context,
@@ -266,7 +266,7 @@
     @twisted_async
     @inlineCallbacks
     def DisableLogicalDevicePort(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('DisableLogicalDevicePort',
                                                   request,
                                                   context,
@@ -285,7 +285,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateLogicalDeviceFlowTable(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'UpdateLogicalDeviceFlowTable',
             request,
@@ -305,7 +305,7 @@
     @twisted_async
     @inlineCallbacks
     def ListLogicalDeviceFlowGroups(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'ListLogicalDeviceFlowGroups',
             request,
@@ -325,7 +325,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateLogicalDeviceFlowGroupTable(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'UpdateLogicalDeviceFlowGroupTable',
             request,
@@ -345,7 +345,7 @@
     @twisted_async
     @inlineCallbacks
     def ListDevices(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListDevices',
                                                   Empty(),
                                                   context,
@@ -356,7 +356,7 @@
     @twisted_async
     @inlineCallbacks
     def ListAdapters(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListAdapters',
                                                   Empty(),
                                                   context,
@@ -367,7 +367,7 @@
     @twisted_async
     @inlineCallbacks
     def GetDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('GetDevice',
                                                   request,
                                                   context,
@@ -385,7 +385,7 @@
     @twisted_async
     @inlineCallbacks
     def CreateDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('CreateDevice',
                                                   request,
                                                   context)
@@ -402,7 +402,7 @@
     @twisted_async
     @inlineCallbacks
     def EnableDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('EnableDevice',
                                                   request,
                                                   context,
@@ -420,7 +420,7 @@
     @twisted_async
     @inlineCallbacks
     def DisableDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('DisableDevice',
                                                   request,
                                                   context,
@@ -438,7 +438,7 @@
     @twisted_async
     @inlineCallbacks
     def RebootDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('RebootDevice',
                                                   request,
                                                   context,
@@ -456,7 +456,7 @@
     @twisted_async
     @inlineCallbacks
     def DeleteDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('DeleteDevice',
                                                   request,
                                                   context,
@@ -474,7 +474,7 @@
     @twisted_async
     @inlineCallbacks
     def ListDevicePorts(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListDevicePorts',
                                                   request,
                                                   context,
@@ -492,7 +492,7 @@
     @twisted_async
     @inlineCallbacks
     def ListDevicePmConfigs(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListDevicePmConfigs',
                                                   request,
                                                   context,
@@ -510,7 +510,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateDevicePmConfigs(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('UpdateDevicePmConfigs',
                                                   request,
                                                   context,
@@ -528,7 +528,7 @@
     @twisted_async
     @inlineCallbacks
     def ListDeviceFlows(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListDeviceFlows',
                                                   request,
                                                   context,
@@ -546,7 +546,7 @@
     @twisted_async
     @inlineCallbacks
     def ListDeviceFlowGroups(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListDeviceFlowGroups',
                                                   request,
                                                   context,
@@ -564,7 +564,7 @@
     @twisted_async
     @inlineCallbacks
     def ListDeviceTypes(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         # we always deflect this to the local instance, as we assume
         # they all loaded the same adapters, supporting the same device
         # types
@@ -584,7 +584,7 @@
     @twisted_async
     @inlineCallbacks
     def GetDeviceType(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         # we always deflect this to the local instance, as we assume
         # they all loaded the same adapters, supporting the same device
         # types
@@ -605,7 +605,7 @@
     @twisted_async
     @inlineCallbacks
     def ListDeviceGroups(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListDeviceGroups',
                                                   Empty(),
                                                   context,
@@ -616,12 +616,12 @@
     @twisted_async
     @inlineCallbacks
     def GetDeviceGroup(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('GetDeviceGroup',
                                                   request,
                                                   context,
                                                   id=request.id)
-        log.info('grpc-response', response=response)
+        log.debug('grpc-response', response=response)
         if isinstance(response, DispatchError):
             log.warn('grpc-error-response', error=response.error_code)
             context.set_details('Device group\'{}\' error'.format(request.id))
@@ -635,7 +635,7 @@
     @twisted_async
     @inlineCallbacks
     def GetAllChannelgroupConfig(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'GetAllChannelgroupConfig',
             Empty(),
@@ -659,7 +659,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateChannelgroup(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.ChannelgroupConfig)
             request.id = create_empty_broadcast_id()
@@ -685,7 +685,7 @@
     @twisted_async
     @inlineCallbacks
     def DeleteChannelgroup(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.ChannelgroupConfig)
             request.id = create_empty_broadcast_id()
@@ -711,7 +711,7 @@
     @twisted_async
     @inlineCallbacks
     def GetAllChannelpartitionConfig(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'GetAllChannelpartitionConfig',
             Empty(),
@@ -729,7 +729,7 @@
     @twisted_async
     @inlineCallbacks
     def CreateChannelpartition(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.ChannelpartitionConfig)
             request.id = create_empty_broadcast_id()
@@ -756,7 +756,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateChannelpartition(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.ChannelpartitionConfig)
             request.id = create_empty_broadcast_id()
@@ -783,7 +783,7 @@
     @twisted_async
     @inlineCallbacks
     def DeleteChannelpartition(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.ChannelpartitionConfig)
             request.id = create_empty_broadcast_id()
@@ -810,7 +810,7 @@
     @twisted_async
     @inlineCallbacks
     def GetAllChannelpairConfig(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'GetAllChannelpairConfig',
             Empty(),
@@ -828,7 +828,7 @@
     @twisted_async
     @inlineCallbacks
     def CreateChannelpair(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.ChannelpairConfig)
             request.id = create_empty_broadcast_id()
@@ -854,7 +854,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateChannelpair(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.ChannelpairConfig)
             request.id = create_empty_broadcast_id()
@@ -880,7 +880,7 @@
     @twisted_async
     @inlineCallbacks
     def DeleteChannelpair(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.ChannelpairConfig)
             request.id = create_empty_broadcast_id()
@@ -906,13 +906,13 @@
     @twisted_async
     @inlineCallbacks
     def GetAllChannelterminationConfig(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'GetAllChannelterminationConfig',
             request,
             context,
             id=request.id)
-        log.info('grpc-response', response=response)
+        log.debug('grpc-response', response=response)
         if isinstance(response, DispatchError):
             log.warn('grpc-error-response', error=response.error_code)
             context.set_details('Channeltermination \'{}\' error'.format(
@@ -926,13 +926,13 @@
     @twisted_async
     @inlineCallbacks
     def CreateChanneltermination(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'CreateChanneltermination',
             request,
             context,
             id=request.id)
-        log.info('grpc-response', response=response)
+        log.debug('grpc-response', response=response)
         if isinstance(response, DispatchError):
             log.warn('grpc-error-response', error=response.error_code)
             context.set_details('Channeltermination \'{}\' error'.format(
@@ -946,13 +946,13 @@
     @twisted_async
     @inlineCallbacks
     def UpdateChanneltermination(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'UpdateChanneltermination',
             request,
             context,
             id=request.id)
-        log.info('grpc-response', response=response)
+        log.debug('grpc-response', response=response)
         if isinstance(response, DispatchError):
             log.warn('grpc-error-response', error=response.error_code)
             context.set_details('Channeltermination \'{}\' error'.format(
@@ -966,13 +966,13 @@
     @twisted_async
     @inlineCallbacks
     def DeleteChanneltermination(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response =  yield self.dispatcher.dispatch(
             'DeleteChanneltermination',
             request,
             context,
             id=request.id)
-        log.info('grpc-response', response=response)
+        log.debug('grpc-response', response=response)
         if isinstance(response, DispatchError):
             log.warn('grpc-error-response', error=response.error_code)
             context.set_details('Channeltermination \'{}\' error'.format(
@@ -986,7 +986,7 @@
     @twisted_async
     @inlineCallbacks
     def GetAllOntaniConfig(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'GetAllOntaniConfig',
             Empty(),
@@ -1004,7 +1004,7 @@
     @twisted_async
     @inlineCallbacks
     def CreateOntani(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.OntaniConfig)
             request.id = create_empty_broadcast_id()
@@ -1030,7 +1030,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateOntani(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.OntaniConfig)
             request.id = create_empty_broadcast_id()
@@ -1056,7 +1056,7 @@
     @twisted_async
     @inlineCallbacks
     def DeleteOntani(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.OntaniConfig)
             request.id = create_empty_broadcast_id()
@@ -1082,7 +1082,7 @@
     @twisted_async
     @inlineCallbacks
     def GetAllVOntaniConfig(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'GetAllVOntaniConfig',
             Empty(),
@@ -1100,7 +1100,7 @@
     @twisted_async
     @inlineCallbacks
     def CreateVOntani(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.VOntaniConfig)
             request.id = create_empty_broadcast_id()
@@ -1126,7 +1126,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateVOntani(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.VOntaniConfig)
             request.id = create_empty_broadcast_id()
@@ -1152,7 +1152,7 @@
     @twisted_async
     @inlineCallbacks
     def DeleteVOntani(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.VOntaniConfig)
             request.id = create_empty_broadcast_id()
@@ -1178,7 +1178,7 @@
     @twisted_async
     @inlineCallbacks
     def GetAllVEnetConfig(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             'GetAllVEnetConfig',
             request,
@@ -1196,7 +1196,7 @@
     @twisted_async
     @inlineCallbacks
     def CreateVEnet(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.VEnetConfig)
             request.id = create_empty_broadcast_id()
@@ -1222,7 +1222,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateVEnet(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.VEnetConfig)
             request.id = create_empty_broadcast_id()
@@ -1248,7 +1248,7 @@
     @twisted_async
     @inlineCallbacks
     def DeleteVEnet(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         try:
             assert isinstance(request, fb.VEnetConfig)
             request.id = create_empty_broadcast_id()
@@ -1400,7 +1400,7 @@
         return self.manage_global_xpon_object (request, context, _method_name)
 
     def get_all_global_xpon_object_data(self, request, context, method_name):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch(
             method_name,
             Empty(),
@@ -1416,7 +1416,7 @@
             returnValue(response)
 
     def manage_global_xpon_object(self, request, context, method_name):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         _xpon_object_type = self.xpon_object_type[method_name]
         try:
             assert isinstance(request, _xpon_object_type)
@@ -1445,7 +1445,7 @@
     @twisted_async
     @inlineCallbacks
     def CreateAlarmFilter(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         # Since AlarmFilter applies to the entire cluster, it will be assigned
         # a global id (using a global core_id).  Every Voltha instance will
         # have the same data.  Since the voltha instances are managed by
@@ -1480,7 +1480,7 @@
     @twisted_async
     @inlineCallbacks
     def GetAlarmFilter(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('GetAlarmFilter',
                                                   request,
                                                   context,
@@ -1498,7 +1498,7 @@
     @twisted_async
     @inlineCallbacks
     def UpdateAlarmFilter(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('UpdateAlarmFilter',
                                                   request,
                                                   context,
@@ -1517,7 +1517,7 @@
     @twisted_async
     @inlineCallbacks
     def DeleteAlarmFilter(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('DeleteAlarmFilter',
                                                   request,
                                                   context,
@@ -1536,7 +1536,7 @@
     @twisted_async
     @inlineCallbacks
     def ListAlarmFilters(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('ListAlarmFilters',
                                                   Empty(),
                                                   context,
@@ -1554,7 +1554,7 @@
     @twisted_async
     @inlineCallbacks
     def GetImages(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('GetImages',
                                                   request,
                                                   context,
@@ -1572,7 +1572,7 @@
     @twisted_async
     @inlineCallbacks
     def SelfTest(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('SelfTest',
                                                   request,
                                                   context,
@@ -1591,7 +1591,7 @@
     @inlineCallbacks
     def DownloadImage(self, request, context):
         try:
-            log.info('grpc-request', request=request)
+            log.debug('grpc-request', request=request)
             response = yield self.dispatcher.dispatch('DownloadImage',
                                                       request,
                                                       context,
@@ -1613,7 +1613,7 @@
     @inlineCallbacks
     def GetImageDownloadStatus(self, request, context):
         try:
-            log.info('grpc-request', request=request)
+            log.debug('grpc-request', request=request)
             response = yield self.dispatcher.dispatch('GetImageDownloadStatus',
                                                       request,
                                                       context,
@@ -1635,7 +1635,7 @@
     @inlineCallbacks
     def GetImageDownload(self, request, context):
         try:
-            log.info('grpc-request', request=request)
+            log.debug('grpc-request', request=request)
             response = yield self.dispatcher.dispatch('GetImageDownload',
                                                       request,
                                                       context,
@@ -1657,7 +1657,7 @@
     @inlineCallbacks
     def ListImageDownloads(self, request, context):
         try:
-            log.info('grpc-request', request=request)
+            log.debug('grpc-request', request=request)
             response = yield self.dispatcher.dispatch('ListImageDownloads',
                                                       request,
                                                       context,
@@ -1680,7 +1680,7 @@
     @inlineCallbacks
     def CancelImageDownload(self, request, context):
         try:
-            log.info('grpc-request', request=request)
+            log.debug('grpc-request', request=request)
             response = yield self.dispatcher.dispatch('CancelImageDownload',
                                                       request,
                                                       context,
@@ -1702,7 +1702,7 @@
     @inlineCallbacks
     def ActivateImageUpdate(self, request, context):
         try:
-            log.info('grpc-request', request=request)
+            log.debug('grpc-request', request=request)
             response = yield self.dispatcher.dispatch('ActivateImageUpdate',
                                                       request,
                                                       context,
@@ -1724,7 +1724,7 @@
     @inlineCallbacks
     def RevertImageUpdate(self, request, context):
         try:
-            log.info('grpc-request', request=request)
+            log.debug('grpc-request', request=request)
             response = yield self.dispatcher.dispatch('RevertImageUpdate',
                                                       request,
                                                       context,
@@ -1745,7 +1745,7 @@
     @twisted_async
     @inlineCallbacks
     def GetMibDeviceData(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         response = yield self.dispatcher.dispatch('GetMibDeviceData',
                                                   request,
                                                   context,
diff --git a/voltha/core/local_handler.py b/voltha/core/local_handler.py
index 7f5d2ad..75a5c7a 100644
--- a/voltha/core/local_handler.py
+++ b/voltha/core/local_handler.py
@@ -115,32 +115,32 @@
 
     @twisted_async
     def GetVolthaInstance(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         depth = int(dict(context.invocation_metadata()).get('get-depth', 0))
         res = self.root.get('/', depth=depth)
         return res
 
     @twisted_async
     def GetHealth(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         return self.root.get('/health')
 
     @twisted_async
     def ListAdapters(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         items = self.root.get('/adapters')
         sorted_items = sorted(items, key=lambda i: i.id)
         return Adapters(items=sorted_items)
 
     @twisted_async
     def ListLogicalDevices(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         items = self.root.get('/logical_devices')
         return LogicalDevices(items=items)
 
     @twisted_async
     def GetLogicalDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         depth = int(dict(context.invocation_metadata()).get('get-depth', 0))
 
@@ -160,7 +160,7 @@
 
     @twisted_async
     def ListLogicalDevicePorts(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -180,7 +180,7 @@
 
     @twisted_async
     def GetLogicalDevicePort(self, request, context):
-        log.info('grpc-request', requst=request)
+        log.debug('grpc-request', requst=request)
 
         if '/' in request.id:
             context.set_details(
@@ -199,7 +199,7 @@
 
     @twisted_async
     def ListLogicalDeviceFlows(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -219,7 +219,7 @@
 
     @twisted_async
     def EnableLogicalDevicePort(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -239,7 +239,7 @@
 
     @twisted_async
     def DisableLogicalDevicePort(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -259,7 +259,7 @@
 
     @twisted_async
     def UpdateLogicalDeviceFlowTable(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -279,7 +279,7 @@
 
     @twisted_async
     def ListLogicalDeviceFlowGroups(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -299,7 +299,7 @@
 
     @twisted_async
     def UpdateLogicalDeviceFlowGroupTable(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -319,13 +319,13 @@
 
     @twisted_async
     def ListDevices(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         items = self.root.get('/devices')
         return Devices(items=items)
 
     @twisted_async
     def GetDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         depth = int(dict(context.invocation_metadata()).get('get-depth', 0))
 
@@ -345,7 +345,7 @@
 
     @twisted_async
     def CreateDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         known_device_types = dict(
             (dt.id, dt) for dt in self.root.get('/device_types'))
@@ -401,7 +401,7 @@
 
     @twisted_async
     def EnableDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -432,7 +432,7 @@
 
     @twisted_async
     def DisableDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -464,7 +464,7 @@
 
     @twisted_async
     def RebootDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -490,7 +490,7 @@
 
     @twisted_async
     def DownloadImage(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -531,7 +531,7 @@
 
     @twisted_async
     def GetImageDownloadStatus(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -567,7 +567,7 @@
 
     @twisted_async
     def GetImageDownload(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -590,7 +590,7 @@
 
     @twisted_async
     def ListImageDownloads(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -613,7 +613,7 @@
 
     @twisted_async
     def CancelImageDownload(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -640,7 +640,7 @@
 
     @twisted_async
     def ActivateImageUpdate(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -667,7 +667,7 @@
 
     @twisted_async
     def RevertImageUpdate(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -694,7 +694,7 @@
 
     @twisted_async
     def DeleteDevice(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -727,7 +727,7 @@
 
     @twisted_async
     def ListDevicePorts(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -746,7 +746,7 @@
 
     @twisted_async
     def ListDevicePmConfigs(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -789,7 +789,7 @@
 
     @twisted_async
     def ListDeviceFlows(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -808,7 +808,7 @@
 
     @twisted_async
     def ListDeviceFlowGroups(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -828,14 +828,14 @@
 
     @twisted_async
     def ListDeviceTypes(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         items = self.root.get('/device_types')
         sorted_items = sorted(items, key=lambda i: i.id)
         return DeviceTypes(items=sorted_items)
 
     @twisted_async
     def GetDeviceType(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         depth = int(dict(context.invocation_metadata()).get('get-depth', 0))
 
@@ -855,14 +855,14 @@
 
     @twisted_async
     def ListDeviceGroups(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
         # TODO is this mapped to tree or taken from coordinator?
         items = self.root.get('/device_groups')
         return DeviceGroups(items=items)
 
     @twisted_async
     def GetDeviceGroup(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         depth = int(dict(context.invocation_metadata()).get('get-depth', 0))
 
@@ -1185,7 +1185,7 @@
 
     @twisted_async
     def CreateAlarmFilter(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         try:
             assert isinstance(request, AlarmFilter)
@@ -1224,7 +1224,7 @@
 
     @twisted_async
     def GetImages(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -1244,7 +1244,7 @@
 
     @twisted_async
     def SelfTest(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         if '/' in request.id:
             context.set_details(
@@ -1296,7 +1296,7 @@
 
     @twisted_async
     def Subscribe(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         # Check if an ofagent subscriber is assigned
         if self.subscriber is None:
@@ -1336,7 +1336,7 @@
 
     @twisted_async
     def GetMibDeviceData(self, request, context):
-        log.info('grpc-request', request=request)
+        log.debug('grpc-request', request=request)
 
         depth = int(dict(context.invocation_metadata()).get('get-depth', -1))
 
diff --git a/voltha/northbound/grpc/grpc_server.py b/voltha/northbound/grpc/grpc_server.py
index ded5de4..1c746d8 100644
--- a/voltha/northbound/grpc/grpc_server.py
+++ b/voltha/northbound/grpc/grpc_server.py
@@ -227,7 +227,7 @@
             service.stop()
         self.server.stop(grace)
         self.thread_pool.shutdown(False)
-        log.debug('stopped')
+        log.info('stopped')
 
     def register(self, activator_func, service):
         """