diff --git a/pkg/lbagent/api.go b/pkg/lbagent/api.go index 944ad10473..6a362f96db 100644 --- a/pkg/lbagent/api.go +++ b/pkg/lbagent/api.go @@ -356,19 +356,18 @@ func (h *ApiHelper) doSyncAgentParams(ctx context.Context) bool { log.Errorf("agent get peers failure: %s", err) return false } - useUnicast := true unicastPeer := []string{} for _, peer := range peers { if peer.Id == agent.Id { continue } if peer.IP == "" { - useUnicast = false log.Warningf("agent %s(%s) has no ip, use multicast vrrp", peer.Name, peer.Id) break } unicastPeer = append(unicastPeer, peer.IP) } + useUnicast := len(unicastPeer) == len(peers)-1 agentParams, err := agentmodels.NewAgentParams(agent) if err != nil { @@ -380,7 +379,9 @@ func (h *ApiHelper) doSyncAgentParams(ctx context.Context) bool { agentParams.SetVrrpParams("unicast_peer", unicastPeer) } if !agentParams.Equals(h.agentParams) { - log.Infof("use unicast vrrp from %s to %s", agent.IP, strings.Join(unicastPeer, ",")) + if useUnicast { + log.Infof("use unicast vrrp from %s to %s", agent.IP, strings.Join(unicastPeer, ",")) + } h.agentParams = agentParams return true } diff --git a/pkg/lbagent/models/agentparams.go b/pkg/lbagent/models/agentparams.go index 382b185432..f6e1f9f11d 100644 --- a/pkg/lbagent/models/agentparams.go +++ b/pkg/lbagent/models/agentparams.go @@ -110,7 +110,7 @@ func (p *AgentParams) Equals(p2 *AgentParams) bool { keys := []string{"notify_script", "unicast_peer"} for _, key := range keys { v := p.GetVrrpParams(key) - v2 := p.GetVrrpParams(key) + v2 := p2.GetVrrpParams(key) if !reflect.DeepEqual(v, v2) { return false }