fixing relay model

This commit is contained in:
afeiszli
2021-09-18 10:33:14 -04:00
parent bfcc9c4c8a
commit 74b15a6a13
6 changed files with 52 additions and 65 deletions

View File

@@ -5,6 +5,7 @@ import (
"encoding/json"
"errors"
"strings"
"github.com/gravitl/netmaker/functions"
nodepb "github.com/gravitl/netmaker/grpc"
"github.com/gravitl/netmaker/models"
@@ -97,24 +98,10 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
if err != nil {
return nil, err
}
relayupdate := false
if node.IsRelay == "yes" && len(newnode.RelayAddrs) > 0 {
for i, addr := range newnode.RelayAddrs {
if addr != node.RelayAddrs[i] {
relayupdate = true
}
}
}
err = node.Update(&newnode)
if err != nil {
return nil, err
}
if relayupdate {
UpdateRelay(node.Network, node.RelayAddrs, newnode.RelayAddrs)
if err = functions.NetworkNodesUpdatePullChanges(node.Network); err != nil {
functions.PrintUserLog("netmaker", "error setting relay updates: " + err.Error(), 1)
}
}
nodeData, err := json.Marshal(&newnode)
if err != nil {
return nil, err
@@ -150,12 +137,12 @@ func (s *NodeServiceServer) GetPeers(ctx context.Context, req *nodepb.Object) (*
if node.IsServer == "yes" {
SetNetworkServerPeers(macAndNetwork[1])
}
excludeDoNotPropagate := node.IsRelay != "yes"
var relayedNode string
if node.DoNotPropagate == "yes" {
excludeIsRelayed := node.IsRelay != "yes"
var relayedNode string
if node.IsRelayed == "yes" {
relayedNode = node.Address
}
peers, err := GetPeersList(macAndNetwork[1], excludeDoNotPropagate, relayedNode)
peers, err := GetPeersList(macAndNetwork[1], excludeIsRelayed, relayedNode)
if err != nil {
return nil, err
}