perf: Cache err.Error() in cluster node validation
Cache err.Error() result in two locations in config_handlers.go: - TLS mismatch detection (3x calls to 1) - Standalone node detection (2x calls to 1)
This commit is contained in:
parent
6a29e20b5e
commit
6931fa34cd
1 changed files with 4 additions and 2 deletions
|
|
@ -579,7 +579,8 @@ func validateNodeAPI(clusterNode proxmox.ClusterStatus, baseConfig proxmox.Clien
|
||||||
// same fingerprint will fail. Fall back to a relaxed TLS check so we can
|
// same fingerprint will fail. Fall back to a relaxed TLS check so we can
|
||||||
// still detect valid cluster members while keeping other errors (like
|
// still detect valid cluster members while keeping other errors (like
|
||||||
// auth) as hard failures.
|
// auth) as hard failures.
|
||||||
isTLSMismatch := strings.Contains(err.Error(), "fingerprint") || strings.Contains(err.Error(), "x509") || strings.Contains(err.Error(), "certificate")
|
errStr := err.Error()
|
||||||
|
isTLSMismatch := strings.Contains(errStr, "fingerprint") || strings.Contains(errStr, "x509") || strings.Contains(errStr, "certificate")
|
||||||
if isTLSMismatch {
|
if isTLSMismatch {
|
||||||
log.Debug().
|
log.Debug().
|
||||||
Str("node", clusterNode.Name).
|
Str("node", clusterNode.Name).
|
||||||
|
|
@ -673,7 +674,8 @@ func detectPVECluster(clientConfig proxmox.ClientConfig, nodeName string, existi
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if this is definitely not a cluster (e.g., 501 not implemented)
|
// Check if this is definitely not a cluster (e.g., 501 not implemented)
|
||||||
if strings.Contains(lastErr.Error(), "501") || strings.Contains(lastErr.Error(), "not implemented") {
|
lastErrStr := lastErr.Error()
|
||||||
|
if strings.Contains(lastErrStr, "501") || strings.Contains(lastErrStr, "not implemented") {
|
||||||
// This is a standalone node, no need to retry
|
// This is a standalone node, no need to retry
|
||||||
log.Debug().Err(lastErr).Msg("Standalone node detected - cluster API not available")
|
log.Debug().Err(lastErr).Msg("Standalone node detected - cluster API not available")
|
||||||
return false, "", nil
|
return false, "", nil
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue