[VOL-4962] openonuAdapterGo - indication of compatibility issues of ONU during configuration
Change-Id: I02ff2d2fc122e6fb423334ceb935be6d57b51828
diff --git a/internal/pkg/mib/mib_download.go b/internal/pkg/mib/mib_download.go
index 32c025c..167cb44 100755
--- a/internal/pkg/mib/mib_download.go
+++ b/internal/pkg/mib/mib_download.go
@@ -182,7 +182,9 @@
logger.Debugw(ctx, "CreateResponse Data", log.Fields{"device-id": onuDeviceEntry.deviceID, "data-fields": msgObj})
if msgObj.Result != me.Success && msgObj.Result != me.InstanceExists {
logger.Errorw(ctx, "Omci CreateResponse Error - later: drive FSM to abort state ?", log.Fields{"device-id": onuDeviceEntry.deviceID, "Error": msgObj.Result})
- // possibly force FSM into abort or ignore some errors for some messages? store error for mgmt display?
+ // possibly force FSM into abort or ignore some errors for some messages?
+ onuDeviceEntry.PDevOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureResponseErr, msgObj.EntityClass,
+ msgObj.EntityInstance, msgObj.EntityClass.String(), msgObj.Result)
return
}
// maybe there is a way of pushing the specific create response type generally to the FSM
@@ -245,7 +247,9 @@
if msgObj.Result != me.Success {
logger.Errorw(ctx, "Omci SetResponse Error - later: drive FSM to abort state ?", log.Fields{"device-id": onuDeviceEntry.deviceID,
"Error": msgObj.Result})
- // possibly force FSM into abort or ignore some errors for some messages? store error for mgmt display?
+ // possibly force FSM into abort or ignore some errors for some messages?
+ onuDeviceEntry.PDevOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureResponseErr, msgObj.EntityClass,
+ msgObj.EntityInstance, msgObj.EntityClass.String(), msgObj.Result)
return
}
// compare comments above for CreateResponse (apply also here ...)
@@ -384,6 +388,13 @@
// case <-ctx.Done():
// logger.Info("MibDownload-bridge-init message reception canceled", log.Fields{"for device-id": onuDeviceEntry.deviceID})
case <-time.After(onuDeviceEntry.PDevOmciCC.GetMaxOmciTimeoutWithRetries() * time.Second): //3s was detected to be to less in 8*8 bbsim test with debug Info/Debug
+ onuDeviceEntry.mutexPLastTxMeInstance.RLock()
+ if onuDeviceEntry.pLastTxMeInstance != nil {
+ onuDeviceEntry.PDevOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureTimeout,
+ onuDeviceEntry.pLastTxMeInstance.GetClassID(), onuDeviceEntry.pLastTxMeInstance.GetEntityID(),
+ onuDeviceEntry.pLastTxMeInstance.GetClassID().String(), 0)
+ }
+ onuDeviceEntry.mutexPLastTxMeInstance.RUnlock()
logger.Warnw(ctx, "MibDownload-bridge-init timeout", log.Fields{"for device-id": onuDeviceEntry.deviceID})
return fmt.Errorf("mibDownloadBridgeInit timeout %s", onuDeviceEntry.deviceID)
case success := <-onuDeviceEntry.omciMessageReceived:
diff --git a/internal/pkg/mib/mib_sync.go b/internal/pkg/mib/mib_sync.go
index bbc2c8e..155a83e 100755
--- a/internal/pkg/mib/mib_sync.go
+++ b/internal/pkg/mib/mib_sync.go
@@ -588,6 +588,7 @@
oo.MutexPersOnuConfig.Lock()
oo.SOnuPersistentData.PersMibDataSyncAdpt = cmn.MdsDefaultMib
oo.MutexPersOnuConfig.Unlock()
+ oo.PDevOmciCC.ResetConfFailMEs()
// trigger retrieval of VendorId and SerialNumber
_ = oo.PMibUploadFsm.PFsm.Event(UlEvGetVendorAndSerial)
return
diff --git a/internal/pkg/mib/onu_device_entry.go b/internal/pkg/mib/onu_device_entry.go
index 83de39f..35e6357 100755
--- a/internal/pkg/mib/onu_device_entry.go
+++ b/internal/pkg/mib/onu_device_entry.go
@@ -1057,5 +1057,6 @@
Description: aDescription,
Context: context,
}
+ logger.Debugw(ctx, "send device event", log.Fields{"deviceEvent": deviceEvent, "device-id": oo.deviceID})
_ = oo.eventProxy.SendDeviceEvent(ctx, deviceEvent, voltha.EventCategory_COMMUNICATION, voltha.EventSubCategory_ONU, time.Now().Unix())
}