VOL-5437:Openolt adapter fix for disable pon ports
Change-Id: I566fda1b3b354157caa7414e967e214d0dc47ecb
Signed-off-by: balaji6299 <balaji.nagarajan@radisys.com>
diff --git a/VERSION b/VERSION
index b7213ae..b059772 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.5.10
+4.5.11
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index ca4e481..b12dca1 100755
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -1017,13 +1017,23 @@
"ConnStatus": deviceStateFilter.ConnStatus,
})
// Synchronous call to update device state - this method is run in its own go routine
- if err := dh.updateDeviceStateInCore(ctx, deviceStateFilter); err != nil {
+ if err = dh.updateDeviceStateInCore(ctx, deviceStateFilter); err != nil {
return olterrors.NewErrAdapter("device-state-update-failed", log.Fields{"device-id": dh.device.Id}, err)
}
// Clear olt communication failure event
dh.device.ConnectStatus = voltha.ConnectStatus_REACHABLE
dh.device.OperStatus = voltha.OperStatus_ACTIVE
+
+ ports, err := dh.listDevicePortsFromCore(ctx, dh.device.Id)
+ if err != nil {
+ return olterrors.NewErrAdapter("fetch-ports-failed", log.Fields{"device-id": dh.device.Id}, err)
+ }
+ dh.populateActivePorts(ctx, ports.Items)
+ if err = dh.disableAdminDownPorts(ctx, ports.Items); err != nil {
+ logger.Error(ctx, "port-status-update-failed", log.Fields{"error": err, "ports": ports})
+ }
+
raisedTs := time.Now().Unix()
go dh.eventMgr.oltCommunicationEvent(ctx, dh.device, raisedTs)
@@ -1204,16 +1214,6 @@
return nil
}
- ports, err := dh.listDevicePortsFromCore(ctx, dh.device.Id)
- if err != nil {
- /*TODO: needs to handle error scenarios */
- return olterrors.NewErrAdapter("fetch-ports-failed", log.Fields{"device-id": dh.device.Id}, err)
- }
- dh.populateActivePorts(ctx, ports.Items)
- if err := dh.disableAdminDownPorts(ctx, ports.Items); err != nil {
- return olterrors.NewErrAdapter("port-status-update-failed", log.Fields{"ports": ports}, err)
- }
-
if err := dh.initializeDeviceHandlerModules(ctx); err != nil {
return olterrors.NewErrAdapter("device-handler-initialization-failed", log.Fields{"device-id": dh.device.Id}, err).LogAt(log.ErrorLevel)
}