mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-11 07:34:31 +08:00
edited peer update
This commit is contained in:
parent
a7015e7260
commit
ae4b1bee57
3 changed files with 10 additions and 7 deletions
|
@ -91,7 +91,7 @@ func UncordonNode(nodeid string) (models.Node, error) {
|
|||
return node, err
|
||||
}
|
||||
|
||||
// GetPeers - gets the peers of a given node
|
||||
// GetPeers - gets the peers of a given server node
|
||||
func GetPeers(node *models.Node) ([]models.Node, error) {
|
||||
if IsLeader(node) {
|
||||
setNetworkServerPeers(node)
|
||||
|
|
|
@ -16,12 +16,12 @@ import (
|
|||
func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
|
||||
var peerUpdate models.PeerUpdate
|
||||
var peers []wgtypes.PeerConfig
|
||||
networkNodes, err := GetNetworkNodes(node.Network)
|
||||
var serverNodeAddresses = []models.ServerAddr{}
|
||||
currentPeers, err := GetPeers(node)
|
||||
if err != nil {
|
||||
return models.PeerUpdate{}, err
|
||||
}
|
||||
var serverNodeAddresses = []models.ServerAddr{}
|
||||
for _, peer := range networkNodes {
|
||||
for _, peer := range currentPeers {
|
||||
if peer.ID == node.ID {
|
||||
//skip yourself
|
||||
continue
|
||||
|
|
9
mq/mq.go
9
mq/mq.go
|
@ -85,11 +85,11 @@ var UpdateNode mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message)
|
|||
logger.Log(1, "error unmarshaling payload ", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
var shouldUpdatePeers = logic.ShouldPeersUpdate(¤tNode, &newNode)
|
||||
if err := logic.UpdateNode(¤tNode, &newNode); err != nil {
|
||||
logger.Log(1, "error saving node", err.Error())
|
||||
}
|
||||
if logic.ShouldPeersUpdate(¤tNode, &newNode) {
|
||||
if shouldUpdatePeers {
|
||||
if err := PublishPeerUpdate(&newNode); err != nil {
|
||||
logger.Log(1, "error publishing peer update ", err.Error())
|
||||
return
|
||||
|
@ -111,11 +111,14 @@ func PublishPeerUpdate(newNode *models.Node) error {
|
|||
}
|
||||
for _, node := range networkNodes {
|
||||
if node.IsServer == "yes" {
|
||||
if err := logic.ServerUpdate(&node, true); err != nil {
|
||||
logger.Log(1, "failed server peer update on server", node.ID)
|
||||
}
|
||||
continue
|
||||
}
|
||||
peerUpdate, err := logic.GetPeerUpdate(&node)
|
||||
if err != nil {
|
||||
logger.Log(1, "error getting peer update for node ", node.ID, err.Error())
|
||||
logger.Log(1, "error getting peer update for node", node.ID, err.Error())
|
||||
continue
|
||||
}
|
||||
data, err := json.Marshal(&peerUpdate)
|
||||
|
|
Loading…
Add table
Reference in a new issue