diff --git a/pkg/proxmox/cluster_client.go b/pkg/proxmox/cluster_client.go index 8fb8cd3..198806a 100644 --- a/pkg/proxmox/cluster_client.go +++ b/pkg/proxmox/cluster_client.go @@ -401,10 +401,14 @@ func (cc *ClusterClient) markUnhealthyWithError(endpoint string, errMsg string) } // clearEndpointError removes any cached error for an endpoint after successful operations +// and marks the endpoint as healthy since the operation succeeded func (cc *ClusterClient) clearEndpointError(endpoint string) { cc.mu.Lock() defer cc.mu.Unlock() delete(cc.lastError, endpoint) + // Mark endpoint healthy since operation succeeded - this ensures degraded + // clusters recover once endpoints start responding again + cc.nodeHealth[endpoint] = true } // recoverUnhealthyNodes attempts to recover unhealthy nodes