VOL-4140 Added new field into ONU_ACTIVATED_EVENT for TT workflow.
Change-Id: I34c79b64e8c997e33d983f98d6c58513c146a443
diff --git a/internal/pkg/onuadaptercore/device_handler.go b/internal/pkg/onuadaptercore/device_handler.go
index da6936f..4dbd44a 100644
--- a/internal/pkg/onuadaptercore/device_handler.go
+++ b/internal/pkg/onuadaptercore/device_handler.go
@@ -2501,8 +2501,23 @@
eventContext["olt-serial-number"] = oltSerialNumber
eventContext["device-id"] = aDeviceID
eventContext["registration-id"] = aDeviceID //py: string(device_id)??
- logger.Debugw(ctx, "prepare ONU_ACTIVATED event",
- log.Fields{"device-id": aDeviceID, "EventContext": eventContext})
+ eventContext["num-of-unis"] = strconv.Itoa(len(dh.uniEntityMap))
+ if deviceEntry := dh.getOnuDeviceEntry(ctx, false); deviceEntry != nil {
+ deviceEntry.mutexPersOnuConfig.RLock()
+ eventContext["equipment-id"] = deviceEntry.sOnuPersistentData.PersEquipmentID
+ deviceEntry.mutexPersOnuConfig.RUnlock()
+ eventContext["software-version"] = deviceEntry.getActiveImageVersion(ctx)
+ deviceEntry.mutexPersOnuConfig.RLock()
+ eventContext["vendor"] = deviceEntry.sOnuPersistentData.PersVendorID
+ deviceEntry.mutexPersOnuConfig.RUnlock()
+ eventContext["inactive-software-version"] = deviceEntry.getInactiveImageVersion(ctx)
+ logger.Debugw(ctx, "prepare ONU_ACTIVATED event",
+ log.Fields{"device-id": aDeviceID, "EventContext": eventContext})
+ } else {
+ logger.Errorw(ctx, "Failed to fetch device-entry. ONU_ACTIVATED event is not sent",
+ log.Fields{"device-id": aDeviceID})
+ return
+ }
/* Populating device event body */
de.Context = eventContext
diff --git a/internal/pkg/onuadaptercore/onu_device_entry.go b/internal/pkg/onuadaptercore/onu_device_entry.go
index d3e7238..0b2a218 100644
--- a/internal/pkg/onuadaptercore/onu_device_entry.go
+++ b/internal/pkg/onuadaptercore/onu_device_entry.go
@@ -892,6 +892,22 @@
logger.Debugf(ctx, "mibDataSync updated - mds: %d - device-id: %s", oo.sOnuPersistentData.PersMibDataSyncAdpt, oo.deviceID)
}
+func (oo *OnuDeviceEntry) getActiveImageVersion(ctx context.Context) string {
+ if oo.onuSwImageIndications.activeEntityEntry.valid {
+ return oo.onuSwImageIndications.activeEntityEntry.version
+ }
+ logger.Debugw(ctx, "Active Image is not valid", log.Fields{"device-id": oo.deviceID})
+ return ""
+}
+
+func (oo *OnuDeviceEntry) getInactiveImageVersion(ctx context.Context) string {
+ if oo.onuSwImageIndications.inactiveEntityEntry.valid {
+ return oo.onuSwImageIndications.inactiveEntityEntry.version
+ }
+ logger.Debugw(ctx, "Inactive Image is not valid", log.Fields{"device-id": oo.deviceID})
+ return ""
+}
+
func (oo *OnuDeviceEntry) buildMibTemplatePath() string {
oo.mutexPersOnuConfig.RLock()
defer oo.mutexPersOnuConfig.RUnlock()