VOL-2749: Wait until device is enabled before processing messages
adopt_device/activate could still be creating
needed objects when the first process_inter_adapter_message
comes in. Check if device is enabled (activate is finished)
before processing the messages.
Change-Id: I3f20bda480378dc596358db0ee4ecb149fedb43a
diff --git a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
index 0b135ba..0e05a51 100644
--- a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
+++ b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
@@ -1260,6 +1260,12 @@
def process_inter_adapter_message(self, request):
self.log.debug('process-inter-adapter-message', type=request.header.type, from_topic=request.header.from_topic,
to_topic=request.header.to_topic, to_device_id=request.header.to_device_id)
+
+ if not self.enabled:
+ self.log.warn('device-not-activated')
+ reactor.callLater(0.5, self.process_inter_adapter_message, request)
+ return
+
try:
if request.header.type == InterAdapterMessageType.OMCI_REQUEST:
omci_msg = InterAdapterOmciMessage()