VOL-5172 check olt state before adding flows
Change-Id: Ibc0b832ae504974fd975ed33fccddff308b321ee
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index 0382f71..23ba459 100755
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -2211,7 +2211,10 @@
logger.Infow(ctx, "device-deletion-in-progress--not-handling-flows-or-groups", log.Fields{"device-id": device.Id})
return nil
}
-
+ if dh.transitionMap.currentDeviceState != deviceStateUp {
+ logger.Error(ctx, "device-is-not-up--not-handling-flows-or-groups", log.Fields{"device-id": device.Id, "current-device-state": dh.transitionMap.currentDeviceState})
+ return fmt.Errorf("device-is-not-up--not-handling-flows-or-groups")
+ }
logger.Debugw(ctx, "received-incremental-flowupdate-in-device-handler", log.Fields{"device-id": device.Id, "flows": flows, "groups": groups, "flowMetadata": flowMetadata})
errorsList = append(errorsList, dh.handleFlows(ctx, device, flows, flowMetadata)...)
errorsList = append(errorsList, dh.handleGroups(ctx, groups)...)