mirror of
https://github.com/gravitl/netmaker.git
synced 2025-02-27 09:36:08 +08:00
fix peer sync
This commit is contained in:
parent
9614735dca
commit
c6252764e8
2 changed files with 20 additions and 2 deletions
|
@ -371,3 +371,14 @@ func setNetworkServerPeers(serverNode *models.Node) {
|
|||
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"
|
||||
)
|
||||
|
||||
const KEEPALIVE_TIMEOUT = 60 //timeout in seconds
|
||||
const KEEPALIVE_TIMEOUT = 10 //timeout in seconds
|
||||
const MQ_DISCONNECT = 250
|
||||
|
||||
// DefaultHandler default message queue handler - only called when GetDebug == true
|
||||
|
@ -198,6 +198,13 @@ func Keepalive(ctx context.Context) {
|
|||
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 == "" {
|
||||
logger.Log(0, "leader not defined for network", network.NetID)
|
||||
continue
|
||||
|
@ -207,8 +214,8 @@ func Keepalive(ctx context.Context) {
|
|||
} else {
|
||||
logger.Log(2, "keepalive sent for network", network.NetID)
|
||||
}
|
||||
client.Disconnect(MQ_DISCONNECT)
|
||||
}
|
||||
client.Disconnect(MQ_DISCONNECT)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue