mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-30 19:56:28 +08:00
fix peer sync
This commit is contained in:
@@ -371,3 +371,14 @@ func setNetworkServerPeers(serverNode *models.Node) {
|
|||||||
logger.Log(1, "could not set peers on network", serverNode.Network, ":", err.Error())
|
logger.Log(1, "could not set peers on network", serverNode.Network, ":", err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ShouldPublishPeerPorts - Gets ports from iface, sets, and returns true if they are different
|
||||||
|
func ShouldPublishPeerPorts(serverNode *models.Node) bool {
|
||||||
|
if currentPeersList, err := getSystemPeers(serverNode); err == nil {
|
||||||
|
if database.SetPeers(currentPeersList, serverNode.Network) {
|
||||||
|
logger.Log(1, "set new peers on network", serverNode.Network)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|||||||
11
mq/mq.go
11
mq/mq.go
@@ -17,7 +17,7 @@ import (
|
|||||||
"github.com/gravitl/netmaker/servercfg"
|
"github.com/gravitl/netmaker/servercfg"
|
||||||
)
|
)
|
||||||
|
|
||||||
const KEEPALIVE_TIMEOUT = 60 //timeout in seconds
|
const KEEPALIVE_TIMEOUT = 10 //timeout in seconds
|
||||||
const MQ_DISCONNECT = 250
|
const MQ_DISCONNECT = 250
|
||||||
|
|
||||||
// DefaultHandler default message queue handler - only called when GetDebug == true
|
// DefaultHandler default message queue handler - only called when GetDebug == true
|
||||||
@@ -198,6 +198,13 @@ func Keepalive(ctx context.Context) {
|
|||||||
id = servAddr.ID
|
id = servAddr.ID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
serverNode, errN := logic.GetNodeByID(id)
|
||||||
|
if errN == nil && network.DefaultUDPHolePunch == "yes" && logic.ShouldPublishPeerPorts(&serverNode) {
|
||||||
|
err = PublishPeerUpdate(&serverNode)
|
||||||
|
if err != nil {
|
||||||
|
logger.Log(1, "error publishing udp port updates", err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
if id == "" {
|
if id == "" {
|
||||||
logger.Log(0, "leader not defined for network", network.NetID)
|
logger.Log(0, "leader not defined for network", network.NetID)
|
||||||
continue
|
continue
|
||||||
@@ -207,8 +214,8 @@ func Keepalive(ctx context.Context) {
|
|||||||
} else {
|
} else {
|
||||||
logger.Log(2, "keepalive sent for network", network.NetID)
|
logger.Log(2, "keepalive sent for network", network.NetID)
|
||||||
}
|
}
|
||||||
client.Disconnect(MQ_DISCONNECT)
|
|
||||||
}
|
}
|
||||||
|
client.Disconnect(MQ_DISCONNECT)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user