[VOL-4962] openonuAdapterGo - indication of compatibility issues of ONU during configuration
Change-Id: I02ff2d2fc122e6fb423334ceb935be6d57b51828
diff --git a/internal/pkg/avcfg/omci_ani_config.go b/internal/pkg/avcfg/omci_ani_config.go
index 77ebb75..3e7be63 100755
--- a/internal/pkg/avcfg/omci_ani_config.go
+++ b/internal/pkg/avcfg/omci_ani_config.go
@@ -1265,7 +1265,9 @@
} else {
logger.Errorw(ctx, "Omci CreateResponse Error - later: drive FSM to abort state ?",
log.Fields{"Error": msgObj.Result, "device-id": oFsm.deviceID})
- // 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?
+ oFsm.pOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureResponseErr, msgObj.EntityClass,
+ msgObj.EntityInstance, msgObj.EntityClass.String(), msgObj.Result)
return
}
}
@@ -1313,8 +1315,9 @@
if msgObj.Result != me.Success {
logger.Errorw(ctx, "UniPonAniConfigFsm - Omci SetResponse Error - later: drive FSM to abort state ?",
log.Fields{"device-id": oFsm.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?
+ oFsm.pOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureResponseErr, msgObj.EntityClass,
+ msgObj.EntityInstance, msgObj.EntityClass.String(), msgObj.Result)
oFsm.handleOmciAniConfigSetFailResponseMessage(ctx, msgObj)
return
}
@@ -1380,7 +1383,8 @@
logger.Errorw(ctx, "UniPonAniConfigFsm - Omci DeleteResponse Error",
log.Fields{"device-id": oFsm.deviceID, "Error": msgObj.Result})
//TODO: - later: possibly force FSM into abort or ignore some errors for some messages?
- // store error for mgmt display?
+ oFsm.pOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureResponseErr, msgObj.EntityClass,
+ msgObj.EntityInstance, msgObj.EntityClass.String(), msgObj.Result)
return
}
oFsm.mutexPLastTxMeInstance.RLock()
@@ -1807,6 +1811,12 @@
oFsm.mutexIsAwaitingResponse.Lock()
oFsm.isAwaitingResponse = false
oFsm.mutexIsAwaitingResponse.Unlock()
+ oFsm.mutexPLastTxMeInstance.RLock()
+ if oFsm.pLastTxMeInstance != nil {
+ oFsm.pOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureTimeout, oFsm.pLastTxMeInstance.GetClassID(),
+ oFsm.pLastTxMeInstance.GetEntityID(), oFsm.pLastTxMeInstance.GetClassID().String(), 0)
+ }
+ oFsm.mutexPLastTxMeInstance.RUnlock()
return fmt.Errorf("uniPonAniConfigFsm multi entity timeout %s", oFsm.deviceID)
case success := <-oFsm.omciMIdsResponseReceived:
if success {
diff --git a/internal/pkg/avcfg/omci_vlan_config.go b/internal/pkg/avcfg/omci_vlan_config.go
index 394602b..b17de4d 100755
--- a/internal/pkg/avcfg/omci_vlan_config.go
+++ b/internal/pkg/avcfg/omci_vlan_config.go
@@ -2003,7 +2003,9 @@
if msgObj.Result != me.Success {
logger.Errorw(ctx, "UniVlanConfigFsm Omci SetResponse Error - later: drive FSM to abort state ?",
log.Fields{"device-id": oFsm.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?
+ oFsm.pOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureResponseErr, msgObj.EntityClass,
+ msgObj.EntityInstance, msgObj.EntityClass.String(), msgObj.Result)
return
}
oFsm.mutexPLastTxMeInstance.RLock()
@@ -2065,7 +2067,9 @@
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": oFsm.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?
+ oFsm.pOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureResponseErr, msgObj.EntityClass,
+ msgObj.EntityInstance, msgObj.EntityClass.String(), msgObj.Result)
return fmt.Errorf("omci CreateResponse Error for device-id %x",
oFsm.deviceID)
}
@@ -2121,7 +2125,9 @@
if msgObj.Result != me.Success {
logger.Errorw(ctx, "UniVlanConfigFsm - Omci DeleteResponse Error - later: drive FSM to abort state ?",
log.Fields{"device-id": oFsm.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?
+ oFsm.pOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureResponseErr, msgObj.EntityClass,
+ msgObj.EntityInstance, msgObj.EntityClass.String(), msgObj.Result)
return fmt.Errorf("omci DeleteResponse Error for device-id %x",
oFsm.deviceID)
}
@@ -2868,6 +2874,12 @@
oFsm.mutexIsAwaitingResponse.Lock()
oFsm.isAwaitingResponse = false
oFsm.mutexIsAwaitingResponse.Unlock()
+ oFsm.mutexPLastTxMeInstance.RLock()
+ if oFsm.pLastTxMeInstance != nil {
+ oFsm.pOmciCC.NotifyAboutOnuConfigFailure(ctx, cmn.OnuConfigFailureTimeout, oFsm.pLastTxMeInstance.GetClassID(),
+ oFsm.pLastTxMeInstance.GetEntityID(), oFsm.pLastTxMeInstance.GetClassID().String(), 0)
+ }
+ oFsm.mutexPLastTxMeInstance.RUnlock()
return fmt.Errorf("uniVlanConfigFsm multi entity timeout %s", oFsm.deviceID)
case success := <-oFsm.omciMIdsResponseReceived:
if success {