VOL-4147
Add support of setting operation state to RECONCILE_FAILED from adapters
Change-Id: I419517fc741abb5d625862740c91e291f02df89f
diff --git a/rw_core/core/device/agent_image.go b/rw_core/core/device/agent_image.go
index 075e2bf..fc56c02 100644
--- a/rw_core/core/device/agent_image.go
+++ b/rw_core/core/device/agent_image.go
@@ -44,7 +44,7 @@
}
if !agent.proceedWithRequestNoLock() {
agent.requestQueue.RequestComplete()
- return nil, status.Errorf(codes.FailedPrecondition, "deviceId:%s, Device reconciling or deletion is in progress.",
+ return nil, status.Errorf(codes.FailedPrecondition, "deviceId:%s, Cannot complete operation as Device deletion/reconciling is in progress or reconcile failed.",
agent.deviceID)
}
@@ -107,7 +107,7 @@
if !agent.proceedWithRequestNoLock() {
agent.requestQueue.RequestComplete()
- return nil, status.Errorf(codes.FailedPrecondition, "deviceId:%s, Device reconciling or deletion is in progress.",
+ return nil, status.Errorf(codes.FailedPrecondition, "deviceId:%s, Cannot complete operation as Device deletion/reconciling is in progress or reconcile failed.",
agent.deviceID)
}
@@ -151,7 +151,7 @@
if !agent.proceedWithRequestNoLock() {
agent.requestQueue.RequestComplete()
- return nil, status.Errorf(codes.FailedPrecondition, "deviceId:%s, Device reconciling or deletion is in progress.",
+ return nil, status.Errorf(codes.FailedPrecondition, "deviceId:%s, Cannot complete operation as Device deletion/reconciling is in progress or reconcile failed.",
agent.deviceID)
}
@@ -270,7 +270,7 @@
if !agent.proceedWithRequestNoLock() {
agent.requestQueue.RequestComplete()
- return status.Errorf(codes.FailedPrecondition, "deviceId:%s, Device reconciling or deletion is in progress.",
+ return status.Errorf(codes.FailedPrecondition, "deviceId:%s, Cannot complete operation as Device deletion/reconciling is in progress or reconcile failed.",
agent.deviceID)
}
@@ -333,6 +333,8 @@
}
if !agent.proceedWithRequestNoLock() {
agent.requestQueue.RequestComplete()
+ logger.Errorw(subCtx, "Cannot complete operation as Device deletion/reconciling is in progress or reconcile failed.",
+ log.Fields{"rpc": rpc, "device-id": agent.deviceID})
return
}
if res, ok := response.(error); ok {
@@ -383,6 +385,8 @@
}
if !agent.proceedWithRequestNoLock() {
agent.requestQueue.RequestComplete()
+ logger.Errorw(ctx, "Cannot complete operation as Device deletion/reconciling is in progress or reconcile failed.",
+ log.Fields{"rpc": rpc, "device-id": agent.deviceID})
return
}
logger.Infow(ctx, "rpc-successful", log.Fields{"rpc": rpc, "device-id": agent.deviceID, "response": response, "args": reqArgs})