Prefer IP addresses over hostnames for cluster communication
This change modifies the `clusterEndpointEffectiveURL` function to prioritize IP addresses over hostnames when building cluster endpoint URLs. This eliminates excessive DNS lookups that can overwhelm DNS servers (e.g., pi-hole), which was causing hundreds of thousands of unnecessary DNS queries. When Pulse communicates with Proxmox cluster nodes, it will now: 1. First try to use the IP address from ClusterEndpoint.IP 2. Fall back to ClusterEndpoint.Host only if IP is not available This is a minimal, backwards-compatible change that maintains existing functionality while dramatically reducing DNS traffic for clusters where node IPs are already known and stored. Related to #620
This commit is contained in:
parent
f0088070be
commit
350828a260
1 changed files with 4 additions and 3 deletions
|
|
@ -281,12 +281,13 @@ func ensureClusterEndpointURL(raw string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func clusterEndpointEffectiveURL(endpoint config.ClusterEndpoint) string {
|
func clusterEndpointEffectiveURL(endpoint config.ClusterEndpoint) string {
|
||||||
if endpoint.Host != "" {
|
// Prefer IP address to avoid excessive DNS lookups
|
||||||
return ensureClusterEndpointURL(endpoint.Host)
|
|
||||||
}
|
|
||||||
if endpoint.IP != "" {
|
if endpoint.IP != "" {
|
||||||
return ensureClusterEndpointURL(endpoint.IP)
|
return ensureClusterEndpointURL(endpoint.IP)
|
||||||
}
|
}
|
||||||
|
if endpoint.Host != "" {
|
||||||
|
return ensureClusterEndpointURL(endpoint.Host)
|
||||||
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue