[VOL-1698] OMCI PM does not work
Pass ONU's serial number to OnuPmMetrics, fix update_device to device_update
Change-Id: Iccfebdd83384dba18724c3739a921bc5952e1c48
diff --git a/python/adapters/brcm_openomci_onu/heartbeat.py b/python/adapters/brcm_openomci_onu/heartbeat.py
index 13f1d62..ffe4b69 100644
--- a/python/adapters/brcm_openomci_onu/heartbeat.py
+++ b/python/adapters/brcm_openomci_onu/heartbeat.py
@@ -14,6 +14,7 @@
import structlog
from twisted.internet import reactor
+from twisted.internet.defer import inlineCallbacks
from voltha_protos.common_pb2 import OperStatus, ConnectStatus
from pyvoltha.adapters.extensions.omci.omci_me import OntGFrame
@@ -138,6 +139,7 @@
# TODO: If failed (active = true) due to bad serial-number shut off the UNI port?
pass
+ @inlineCallbacks
def heartbeat_check_status(self, results):
"""
Check the number of heartbeat failures against the limit and emit an alarm if needed
@@ -153,7 +155,7 @@
device.connect_status = ConnectStatus.UNREACHABLE
device.oper_status = OperStatus.FAILED
device.reason = self.heartbeat_last_reason
- self._handler.core_proxy.update_device(device)
+ yield self._handler.core_proxy.device_update(device)
HeartbeatAlarm(self._handler.alarms, 'onu', self._heartbeat_miss).raise_alarm()
self._alarm_active = True
self.on_heartbeat_alarm(True)
@@ -163,7 +165,7 @@
device.connect_status = ConnectStatus.REACHABLE
device.oper_status = OperStatus.ACTIVE
device.reason = ''
- self._handler.core_proxy.update_device(device)
+ yield self._handler.core_proxy.device_update(device)
HeartbeatAlarm(self._handler.alarms, 'onu').clear_alarm()
self._alarm_active = False