[VOL-5374] go version upgrade to 1.23.1 and few other package versions upgrade
Signed-off-by: akashreddyk <akash.kankanala@radisys.com>
Change-Id: I50531e8febdc00b335ebbe5a4b1099fc3bf6d5b4
diff --git a/internal/pkg/pmmgr/onu_metrics_manager.go b/internal/pkg/pmmgr/onu_metrics_manager.go
index f7e43c5..11c6435 100755
--- a/internal/pkg/pmmgr/onu_metrics_manager.go
+++ b/internal/pkg/pmmgr/onu_metrics_manager.go
@@ -268,26 +268,27 @@
}
type groupMetric struct {
- groupName string
- Enabled bool
- Frequency uint32 // valid only if FrequencyOverride is enabled.
- metricMap map[string]voltha.PmConfig_PmType
NextCollectionInterval time.Time // valid only if FrequencyOverride is enabled.
- IsL2PMCounter bool // true for only L2 PM counters
- collectAttempts uint32 // number of attempts to collect L2 PM data
+ metricMap map[string]voltha.PmConfig_PmType
pmMEData *pmMEData
+ groupName string
+ Frequency uint32 // valid only if FrequencyOverride is enabled.
+ collectAttempts uint32 // number of attempts to collect L2 PM data
+ Enabled bool
+ IsL2PMCounter bool // true for only L2 PM counters
}
type standaloneMetric struct {
- metricName string
- Enabled bool
- Frequency uint32 // valid only if FrequencyOverride is enabled.
NextCollectionInterval time.Time // valid only if FrequencyOverride is enabled.
+ metricName string
+ Frequency uint32 // valid only if FrequencyOverride is enabled.
+ Enabled bool
}
// OnuMetricsManager - TODO: add comment
type OnuMetricsManager struct {
- deviceID string
+ NextGlobalMetricCollectionTime time.Time // valid only if pmConfig.FreqOverride is set to false.
+
pDeviceHandler cmn.IdeviceHandler
pOnuDeviceEntry cmn.IonuDeviceEntry
PAdaptFsm *cmn.AdapterFsm
@@ -300,41 +301,44 @@
l2PmCreateOrDeleteResponseChan chan bool // true is success, false is fail
extendedPMMeResponseChan chan me.Results // true is sucesss, false is fail
- activeL2Pms []string // list of active l2 pm MEs created on the ONU.
- l2PmToDelete []string // list of L2 PMs to delete
- l2PmToAdd []string // list of L2 PM to add
-
GroupMetricMap map[string]*groupMetric
StandaloneMetricMap map[string]*standaloneMetric
StopProcessingOmciResponses chan bool
- omciProcessingActive bool
- StopTicks chan bool
- tickGenerationActive bool
-
- deviceDeletionInProgress bool
+ StopTicks chan bool
GarbageCollectionComplete chan bool
- NextGlobalMetricCollectionTime time.Time // valid only if pmConfig.FreqOverride is set to false.
-
- OnuMetricsManagerLock sync.RWMutex
-
pmKvStore *db.Backend
- supportedEthernetFrameExtendedPMClass me.ClassID
ethernetFrameExtendedPmUpStreamMEByEntityID map[uint16]*me.ManagedEntity
ethernetFrameExtendedPmDownStreamMEByEntityID map[uint16]*me.ManagedEntity
extPmKvStore *db.Backend
- onuEthernetFrameExtendedPmLock sync.RWMutex
- isDeviceReadyToCollectExtendedPmStats bool
- isEthernetFrameExtendedPmOperationOngoing bool
- isExtendedOmci bool
- maxL2PMGetPayLoadSize int
onuOpticalMetricstimer *time.Timer
onuUniStatusMetricstimer *time.Timer
opticalMetricsDelCommChan chan bool
uniMetricsDelCommChan chan bool
+ deviceID string
+
+ activeL2Pms []string // list of active l2 pm MEs created on the ONU.
+ l2PmToDelete []string // list of L2 PMs to delete
+ l2PmToAdd []string // list of L2 PM to add
+
+ maxL2PMGetPayLoadSize int
+
+ OnuMetricsManagerLock sync.RWMutex
+
+ onuEthernetFrameExtendedPmLock sync.RWMutex
+
+ supportedEthernetFrameExtendedPMClass me.ClassID
+ omciProcessingActive bool
+
+ tickGenerationActive bool
+
+ deviceDeletionInProgress bool
+ isDeviceReadyToCollectExtendedPmStats bool
+ isEthernetFrameExtendedPmOperationOngoing bool
+ isExtendedOmci bool
}
// NewOnuMetricsManager returns a new instance of the NewOnuMetricsManager
@@ -1335,7 +1339,7 @@
}
// ** L2 PM FSM Handlers start **
-
+// nolint:unparam
func (mm *OnuMetricsManager) l2PMFsmStarting(ctx context.Context, e *fsm.Event) {
if mm.GetdeviceDeletionInProgress() {
logger.Infow(ctx, "device already deleted, return", log.Fields{"curr-state": mm.PAdaptFsm.PFsm.Current, "deviceID": mm.deviceID})
@@ -1388,6 +1392,7 @@
}()
}
+// nolint:unparam
func (mm *OnuMetricsManager) l2PMFsmSyncTime(ctx context.Context, e *fsm.Event) {
if mm.GetdeviceDeletionInProgress() {
logger.Infow(ctx, "device already deleted, return", log.Fields{"curr-state": mm.PAdaptFsm.PFsm.Current, "deviceID": mm.deviceID})
@@ -1441,6 +1446,8 @@
mm.GarbageCollectionComplete <- true
}
}
+
+// nolint:unparam
func (mm *OnuMetricsManager) l2PMFsmIdle(ctx context.Context, e *fsm.Event) {
logger.Debugw(ctx, "Enter state idle", log.Fields{"device-id": mm.deviceID})
if mm.GetdeviceDeletionInProgress() {
@@ -1470,6 +1477,7 @@
}
}
+// nolint:unparam
func (mm *OnuMetricsManager) l2PmFsmCollectData(ctx context.Context, e *fsm.Event) {
logger.Debugw(ctx, "state collect data", log.Fields{"device-id": mm.deviceID})
if mm.GetdeviceDeletionInProgress() {
@@ -1538,7 +1546,7 @@
}()
}
-// nolint: gocyclo
+// nolint: gocyclo,unparam
func (mm *OnuMetricsManager) l2PmFsmCreatePM(ctx context.Context, e *fsm.Event) error {
if mm.GetdeviceDeletionInProgress() {
logger.Infow(ctx, "device already deleted, return", log.Fields{"curr-state": mm.PAdaptFsm.PFsm.Current, "deviceID": mm.deviceID})
@@ -1577,8 +1585,8 @@
_ = p_pmFsm.PFsm.Event(L2PmEventFailure)
}(pPMFsm)
}
- return fmt.Errorf(fmt.Sprintf("CreateOrDeleteEthernetPerformanceMonitoringHistoryMe-failed-%s-%s",
- mm.deviceID, err))
+ return fmt.Errorf("CreateOrDeleteEthernetPerformanceMonitoringHistoryMe-failed-%s-%s",
+ mm.deviceID, err)
}
if resp = mm.waitForResponseOrTimeout(ctx, true, entityID, "EthernetFramePerformanceMonitoringHistoryData"); resp {
atLeastOneSuccess = true
@@ -1610,8 +1618,8 @@
logger.Errorw(ctx, "CreateOrDeleteEthernetUNIHistoryME failed, failure PM FSM!",
log.Fields{"device-id": mm.deviceID})
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
- return fmt.Errorf(fmt.Sprintf("CreateOrDeleteEthernetUniHistoryMe-failed-%s-%s",
- mm.deviceID, err))
+ return fmt.Errorf("CreateOrDeleteEthernetUniHistoryMe-failed-%s-%s",
+ mm.deviceID, err)
}
if resp = mm.waitForResponseOrTimeout(ctx, true, entityID, "EthernetPerformanceMonitoringHistoryData"); resp {
atLeastOneSuccess = true
@@ -1637,8 +1645,8 @@
logger.Errorw(ctx, "CreateOrDeleteFecHistoryME failed, failure PM FSM!",
log.Fields{"device-id": mm.deviceID})
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
- return fmt.Errorf(fmt.Sprintf("CreateOrDeleteFecHistoryMe-failed-%s-%s",
- mm.deviceID, err))
+ return fmt.Errorf("CreateOrDeleteFecHistoryMe-failed-%s-%s",
+ mm.deviceID, err)
}
_ = mm.updatePmData(ctx, n, anigInstID, cPmAdd) // TODO: ignore error for now
inner3:
@@ -1682,8 +1690,8 @@
logger.Errorw(ctx, "CreateOrDeleteGemPortHistoryME failed, failure PM FSM!",
log.Fields{"device-id": mm.deviceID})
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
- return fmt.Errorf(fmt.Sprintf("CreateOrDeleteGemPortHistoryMe-failed-%s-%s",
- mm.deviceID, err))
+ return fmt.Errorf("CreateOrDeleteGemPortHistoryMe-failed-%s-%s",
+ mm.deviceID, err)
}
_ = mm.updatePmData(ctx, n, v, cPmAdd) // TODO: ignore error for now
inner4:
@@ -1746,7 +1754,7 @@
return nil
}
-// nolint: gocyclo
+// nolint: gocyclo,unparam
func (mm *OnuMetricsManager) l2PmFsmDeletePM(ctx context.Context, e *fsm.Event) error {
if mm.GetdeviceDeletionInProgress() {
logger.Infow(ctx, "device already deleted, return", log.Fields{"curr-state": mm.PAdaptFsm.PFsm.Current, "deviceID": mm.deviceID})
@@ -1795,12 +1803,13 @@
log.Fields{"device-id": mm.deviceID})
pPMFsm := mm.PAdaptFsm
if pPMFsm != nil {
+ //nolint: unparam
go func(p_pmFsm *cmn.AdapterFsm) {
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
}(pPMFsm)
}
- return fmt.Errorf(fmt.Sprintf("CreateOrDeleteEthernetPerformanceMonitoringHistoryMe-failed-%s-%s",
- mm.deviceID, err))
+ return fmt.Errorf("CreateOrDeleteEthernetPerformanceMonitoringHistoryMe-failed-%s-%s",
+ mm.deviceID, err)
}
_ = mm.updatePmData(ctx, n, entityID, cPmRemove) // TODO: ignore error for now
if resp = mm.waitForResponseOrTimeout(ctx, false, entityID, "EthernetFramePerformanceMonitoringHistoryData"); !resp {
@@ -1836,8 +1845,8 @@
}(pmFsm)
return err
}
- return fmt.Errorf(fmt.Sprintf("CreateOrDeleteEthernetUniHistoryMe-failed-%s-%s",
- mm.deviceID, err))
+ return fmt.Errorf("CreateOrDeleteEthernetUniHistoryMe-failed-%s-%s",
+ mm.deviceID, err)
}
if resp = mm.waitForResponseOrTimeout(ctx, false, entityID, "EthernetPerformanceMonitoringHistoryData"); !resp {
if mm.GetdeviceDeletionInProgress() {
@@ -1865,10 +1874,10 @@
logger.Errorw(ctx, "CreateOrDeleteFecHistoryME failed, failure PM FSM!",
log.Fields{"device-id": mm.deviceID})
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
- return fmt.Errorf(fmt.Sprintf("CreateOrDeleteFecHistoryMe-failed-%s-%s",
- mm.deviceID, err))
+ return fmt.Errorf("CreateOrDeleteFecHistoryMe-failed-%s-%s",
+ mm.deviceID, err)
}
- if resp := mm.waitForResponseOrTimeout(ctx, false, entityID, "FecPerformanceMonitoringHistoryData"); !resp {
+ if resp = mm.waitForResponseOrTimeout(ctx, false, entityID, "FecPerformanceMonitoringHistoryData"); !resp {
if mm.GetdeviceDeletionInProgress() {
logger.Debugw(ctx, "device deleted, no more pm processing", log.Fields{"deviceID": mm.deviceID})
return nil
@@ -1894,8 +1903,8 @@
logger.Errorw(ctx, "CreateOrDeleteGemPortHistoryME failed, failure PM FSM!",
log.Fields{"device-id": mm.deviceID})
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
- return fmt.Errorf(fmt.Sprintf("CreateOrDeleteGemPortHistoryMe-failed-%s-%s",
- mm.deviceID, err))
+ return fmt.Errorf("CreateOrDeleteGemPortHistoryMe-failed-%s-%s",
+ mm.deviceID, err)
}
if resp = mm.waitForResponseOrTimeout(ctx, false, entityID, "GemPortNetworkCtpPerformanceMonitoringHistoryData"); !resp {
if mm.GetdeviceDeletionInProgress() {
@@ -2138,7 +2147,7 @@
}(pmFsm)
return err
}
- return fmt.Errorf(fmt.Sprintf("GetME-failed-%s-%s", mm.deviceID, err))
+ return fmt.Errorf("GetME-failed-%s-%s", mm.deviceID, err)
}
if meInstance != nil {
select {
@@ -2241,7 +2250,7 @@
if err != nil {
logger.Errorw(ctx, "GetMe failed, failure PM FSM!", log.Fields{"device-id": mm.deviceID})
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
- return fmt.Errorf(fmt.Sprintf("GetME-failed-%s-%s", mm.deviceID, err))
+ return fmt.Errorf("GetME-failed-%s-%s", mm.deviceID, err)
}
if meInstance != nil {
select {
@@ -2344,7 +2353,7 @@
if err != nil {
logger.Errorw(ctx, "GetMe failed, failure PM FSM!", log.Fields{"device-id": mm.deviceID})
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
- return fmt.Errorf(fmt.Sprintf("GetME-failed-%s-%s", mm.deviceID, err))
+ return fmt.Errorf("GetME-failed-%s-%s", mm.deviceID, err)
}
if meInstance != nil {
select {
@@ -2411,7 +2420,7 @@
if err != nil {
logger.Errorw(ctx, "GetMe failed", log.Fields{"device-id": mm.deviceID})
_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
- return fmt.Errorf(fmt.Sprintf("GetME-failed-%s-%s", mm.deviceID, err))
+ return fmt.Errorf("GetME-failed-%s-%s", mm.deviceID, err)
}
if meInstance != nil {
select {
@@ -2572,6 +2581,7 @@
}
}
+// nolint: unparam
func (mm *OnuMetricsManager) populateGroupSpecificMetrics(ctx context.Context, mEnt *me.ManagedEntity, classID me.ClassID, entityID uint16,
meAttributes me.AttributeValueMap, data map[string]float32, intervalEndTime *int) error {
var grpFunc groupMetricPopulateFunc
@@ -2684,6 +2694,7 @@
return false
}
+// nolint: unparam
func (mm *OnuMetricsManager) initializeGroupMetric(grpMtrcs map[string]voltha.PmConfig_PmType, grpName string, grpEnabled bool, grpFreq uint32) {
var pmConfigSlice []*voltha.PmConfig
for k, v := range grpMtrcs {
@@ -2910,7 +2921,7 @@
logger.Debugw(ctx, "restorePmData - start", log.Fields{"device-id": mm.deviceID})
if mm.pmKvStore == nil {
logger.Errorw(ctx, "pmKvStore not set - abort", log.Fields{"device-id": mm.deviceID})
- return fmt.Errorf(fmt.Sprintf("pmKvStore-not-set-abort-%s", mm.deviceID))
+ return fmt.Errorf("pmKvStore-not-set-abort-%s", mm.deviceID)
}
var errorsList []error
for groupName, group := range mm.GroupMetricMap {
@@ -2924,7 +2935,7 @@
if err = json.Unmarshal(tmpBytes, &group.pmMEData); err != nil {
logger.Errorw(ctx, "unable to unmarshal PM data", log.Fields{"error": err, "device-id": mm.deviceID})
- errorsList = append(errorsList, fmt.Errorf(fmt.Sprintf("unable-to-unmarshal-PM-data-%s-for-group-%s", mm.deviceID, groupName)))
+ errorsList = append(errorsList, fmt.Errorf("unable-to-unmarshal-PM-data-%s-for-group-%s", mm.deviceID, groupName))
continue
}
logger.Debugw(ctx, "restorePmData - success", log.Fields{"pmData": group.pmMEData, "groupName": groupName, "device-id": mm.deviceID})
@@ -2934,7 +2945,7 @@
}
} else {
logger.Errorw(ctx, "restorePmData - fail", log.Fields{"device-id": mm.deviceID, "groupName": groupName, "err": err})
- errorsList = append(errorsList, fmt.Errorf(fmt.Sprintf("unable-to-read-from-KVstore-%s-for-group-%s", mm.deviceID, groupName)))
+ errorsList = append(errorsList, fmt.Errorf("unable-to-read-from-KVstore-%s-for-group-%s", mm.deviceID, groupName))
continue
}
}
@@ -2990,7 +3001,7 @@
if mm.pmKvStore == nil {
logger.Errorw(ctx, "pmKvStore not set - abort", log.Fields{"device-id": mm.deviceID})
- return fmt.Errorf(fmt.Sprintf("pmKvStore-not-set-abort-%s", mm.deviceID))
+ return fmt.Errorf("pmKvStore-not-set-abort-%s", mm.deviceID)
}
pmMEData, err := mm.getPmData(ctx, groupName)
@@ -3017,7 +3028,7 @@
pmMEData.InstancesActive = mm.removeIfFoundUint16(pmMEData.InstancesActive, meInstanceID)
default:
logger.Errorw(ctx, "unknown pm action", log.Fields{"device-id": mm.deviceID, "pmAction": pmAction, "groupName": groupName})
- return fmt.Errorf(fmt.Sprintf("unknown-pm-action-deviceid-%s-groupName-%s-pmaction-%s", mm.deviceID, groupName, pmAction))
+ return fmt.Errorf("unknown-pm-action-deviceid-%s-groupName-%s-pmaction-%s", mm.deviceID, groupName, pmAction)
}
// write through cache
mm.GroupMetricMap[groupName].pmMEData = pmMEData
@@ -3047,7 +3058,7 @@
logger.Debugw(ctx, "clearPmGroupData - start", log.Fields{"device-id": mm.deviceID})
if mm.pmKvStore == nil {
logger.Errorw(ctx, "pmKvStore not set - abort", log.Fields{"device-id": mm.deviceID})
- return fmt.Errorf(fmt.Sprintf("pmKvStore-not-set-abort-%s", mm.deviceID))
+ return fmt.Errorf("pmKvStore-not-set-abort-%s", mm.deviceID)
}
for n := range mm.GroupMetricMap {
@@ -3069,7 +3080,7 @@
logger.Debugw(ctx, "ClearAllPmData - start", log.Fields{"device-id": mm.deviceID})
if mm.pmKvStore == nil {
logger.Errorw(ctx, "pmKvStore not set - abort", log.Fields{"device-id": mm.deviceID})
- return fmt.Errorf(fmt.Sprintf("pmKvStore-not-set-abort-%s", mm.deviceID))
+ return fmt.Errorf("pmKvStore-not-set-abort-%s", mm.deviceID)
}
var value error
for n := range mm.GroupMetricMap {
@@ -3290,6 +3301,7 @@
}
if exist {
// we have the me type, go ahead with the me type supported.
+ //nolint:govet
if _, err := mm.tryCreateExtPmMe(ctx, mm.supportedEthernetFrameExtendedPMClass); err != nil {
logger.Errorw(ctx, "unable-to-create-me-type", log.Fields{"device-id": mm.deviceID,
"meClassID": mm.supportedEthernetFrameExtendedPMClass})
@@ -3306,6 +3318,7 @@
log.Fields{"device-id": mm.deviceID, "meClassID": me.EthernetFrameExtendedPm64BitClassID,
"supported": supported64Bit})
// Then Try with 32 bit type
+ //nolint:govet
if supported32Bit, err := mm.tryCreateExtPmMe(ctx, me.EthernetFrameExtendedPmClassID); err != nil {
logger.Errorw(ctx, "unable-to-create-me-type", log.Fields{"device-id": mm.deviceID,
"meClassID": me.EthernetFrameExtendedPmClassID, "supported": supported32Bit})
@@ -3540,6 +3553,7 @@
return &singleValResp
}
+// nolint:unparam
func (mm *OnuMetricsManager) collectEthernetFrameExtendedPMData(ctx context.Context, meEnt *me.ManagedEntity, entityID uint16, upstream bool, receivedMask *uint16) (map[string]uint64, extension.GetValueResponse_ErrorReason, error) {
var classID me.ClassID
logger.Debugw(ctx, "collecting-data-for-ethernet-frame-extended-pm", log.Fields{"device-id": mm.deviceID, "entityID": entityID, "upstream": upstream})
@@ -3616,7 +3630,7 @@
}
}
-// nolint: gocyclo
+// nolint: gocyclo,unparam
func (mm *OnuMetricsManager) getEthFrameExtPMDataFromResponse(ctx context.Context, ethFrameExtPMData map[string]uint64, meAttributes me.AttributeValueMap, requestedAttributesMask uint16) uint16 {
receivedMask := uint16(0)
switch requestedAttributesMask {
@@ -3751,7 +3765,7 @@
return receivedMask
}
-// nolint: gocyclo
+// nolint: gocyclo,unparam
func (mm *OnuMetricsManager) getEthFrameExtPM64BitDataFromResponse(ctx context.Context, ethFrameExtPMData map[string]uint64, meAttributes me.AttributeValueMap, requestedAttributesMask uint16) uint16 {
receivedMask := uint16(0)
switch requestedAttributesMask {
@@ -3993,6 +4007,7 @@
return pmDataOut
}
+//nolint:unparam
func (mm *OnuMetricsManager) getControlBlockForExtendedPMDirection(ctx context.Context, upstream bool, entityID uint16, reset bool) []uint16 {
controlBlock := make([]uint16, 8)
// Control Block First two bytes are for threshold data 1/2 id - does not matter here