From 9fc7d9cbe13e9241536c94ace74cfae550f6930f Mon Sep 17 00:00:00 2001 From: rcourtman Date: Tue, 18 Nov 2025 15:57:29 +0000 Subject: [PATCH] Handle missing storage on cluster nodes --- pkg/proxmox/cluster_client.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/proxmox/cluster_client.go b/pkg/proxmox/cluster_client.go index 6f865b7..dc91072 100644 --- a/pkg/proxmox/cluster_client.go +++ b/pkg/proxmox/cluster_client.go @@ -592,6 +592,7 @@ func (cc *ClusterClient) executeWithFailover(ctx context.Context, fn func(*Clien strings.Contains(errStr, "permission denied") || (strings.Contains(errStr, "400") && strings.Contains(errStr, "\"ds\"") && strings.Contains(errStr, "property is not defined in schema")) || strings.Contains(errStr, "json: cannot unmarshal") || + (strings.Contains(errStr, "storage '") && strings.Contains(errStr, "is not available on node")) || strings.Contains(errStr, "unexpected response format") { // This is likely a node-specific failure, not an endpoint failure // Return the error but don't mark the endpoint as unhealthy @@ -760,9 +761,9 @@ func (cc *ClusterClient) GetHealthStatus() map[string]bool { // EndpointHealth contains health information for a single endpoint type EndpointHealth struct { - Healthy bool - LastCheck time.Time - LastError string + Healthy bool + LastCheck time.Time + LastError string } // GetHealthStatusWithErrors returns detailed health status including error messages