[VOL-5462] Device reconcilation fix
Change-Id: I1277dc1e21cc4d1850d15864a7a060c2581d014b
Signed-off-by: bseeniva <balaji.seenivasan@radisys.com>
diff --git a/VERSION b/VERSION
index 74befd7..601c643 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.6.16
+3.6.17
diff --git a/rw_core/core/device/agent.go b/rw_core/core/device/agent.go
index bdba7f7..9136174 100755
--- a/rw_core/core/device/agent.go
+++ b/rw_core/core/device/agent.go
@@ -1583,21 +1583,16 @@
agent.requestQueue.RequestComplete()
if state != core.DeviceTransientState_REBOOT_IN_PROGRESS {
+ var err error
if state != core.DeviceTransientState_RECONCILE_IN_PROGRESS {
// set transient state to RECONCILE IN PROGRESS
- if err := agent.UpdateTransientStateToReconcile(ctx); err != nil {
- logger.Errorw(ctx, "setting-transient-state-failed", log.Fields{"error": err})
- agent.stopReconcilingMutex.Lock()
- if agent.stopReconciling != nil {
- agent.stopReconciling = nil
- }
- desc = "Failed-to-update-transient-state"
- agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc)
- agent.stopReconcilingMutex.Unlock()
- break retry
+ if err = agent.UpdateTransientStateToReconcile(ctx); err != nil {
+ logger.Warn(ctx, "setting-transient-state-failed, will be retried", log.Fields{"error": err})
}
}
- reconcileErr = agent.sendReconcileRequestToAdapter(ctx, device)
+ if err == nil {
+ reconcileErr = agent.sendReconcileRequestToAdapter(ctx, device)
+ }
}
if errors.Is(reconcileErr, errContextExpired) || errors.Is(reconcileErr, errReconcileAborted) {