VOL-4511: Fix logical Meters are not deleted from the kv store after olt
device delete some times - part 3
- Delay logical device deletion from model until logical meters are cleared
- During meter updates have additional checks to see if the logical device
  exists in model.

Change-Id: I09788b6cdc00779c5f9f5de0e691de79608262fb
diff --git a/rw_core/core/device/logical_agent_meter.go b/rw_core/core/device/logical_agent_meter.go
index a82052a..d6e949a 100644
--- a/rw_core/core/device/logical_agent_meter.go
+++ b/rw_core/core/device/logical_agent_meter.go
@@ -59,9 +59,11 @@
 	}
 	defer agent.requestQueue.RequestComplete()
 
-	// If the logical-device-agent is stopped, return
 	if agent.stopped {
-		logger.Warnw(ctx, "logical-agent-stopped-not-handling-meter", log.Fields{"logical-device-id": agent.logicalDeviceID})
+		logger.Warnw(ctx, "logical-device-already-stopped-not-handling-meter", log.Fields{"logical-device-id": agent.logicalDeviceID})
+		return nil
+	} else if _, err := agent.ldeviceMgr.getLogicalDeviceFromModel(ctx, agent.logicalDeviceID); err != nil {
+		logger.Warnw(ctx, "logical-device-already-removed-not-handling-meter", log.Fields{"logical-device-id": agent.logicalDeviceID})
 		return nil
 	}