소스 검색

pkg/mesh: ensure persistent-keepalive set on nodes

A bug identified by @carlosrmendes caused nodes to ignore the
persistent-keepalive annotation.

xref: https://github.com/squat/kilo/issues/53#issuecomment-620945927

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
Lucas Servén Marín 6 년 전
부모
커밋
e4829832c5
1개의 변경된 파일10개의 추가작업 그리고 9개의 파일을 삭제
  1. 10 9
      pkg/mesh/mesh.go

+ 10 - 9
pkg/mesh/mesh.go

@@ -478,15 +478,16 @@ func (m *Mesh) handleLocal(n *Node) {
 	// Take leader, location, and subnet from the argument, as these
 	// are not determined by kilo.
 	local := &Node{
-		Endpoint:    n.Endpoint,
-		Key:         m.pub,
-		InternalIP:  n.InternalIP,
-		LastSeen:    time.Now().Unix(),
-		Leader:      n.Leader,
-		Location:    n.Location,
-		Name:        m.hostname,
-		Subnet:      n.Subnet,
-		WireGuardIP: m.wireGuardIP,
+		Endpoint:            n.Endpoint,
+		Key:                 m.pub,
+		InternalIP:          n.InternalIP,
+		LastSeen:            time.Now().Unix(),
+		Leader:              n.Leader,
+		Location:            n.Location,
+		Name:                m.hostname,
+		PersistentKeepalive: n.PersistentKeepalive,
+		Subnet:              n.Subnet,
+		WireGuardIP:         m.wireGuardIP,
 	}
 	if !nodesAreEqual(n, local) {
 		level.Debug(m.logger).Log("msg", "local node differs from backend")