mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-13 08:34:44 +08:00
relay functionality working
This commit is contained in:
parent
61c2c5f0a0
commit
31ea969e3d
3 changed files with 17 additions and 7 deletions
|
@ -98,7 +98,6 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
|
|||
return nil, err
|
||||
}
|
||||
relayupdate := false
|
||||
oldRelayAddrs := node.RelayAddrs
|
||||
if node.IsRelay == "yes" && len(newnode.RelayAddrs) > 0 {
|
||||
for i, addr := range newnode.RelayAddrs {
|
||||
if addr != node.RelayAddrs[i] {
|
||||
|
@ -111,7 +110,10 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
|
|||
return nil, err
|
||||
}
|
||||
if relayupdate {
|
||||
UpdateRelay(node.Network, oldRelayAddrs, node.RelayAddrs)
|
||||
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 {
|
||||
|
|
|
@ -755,13 +755,16 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
newNode.PullChanges = "yes"
|
||||
relayupdate := false
|
||||
oldRelayAddrs := node.RelayAddrs
|
||||
if node.IsRelay == "yes" && len(newNode.RelayAddrs) > 0 {
|
||||
for i, addr := range newNode.RelayAddrs {
|
||||
if addr != node.RelayAddrs[i] {
|
||||
if len(newNode.RelayAddrs) != len(node.RelayAddrs) {
|
||||
relayupdate = true
|
||||
} else {
|
||||
for i, addr := range newNode.RelayAddrs {
|
||||
if addr != node.RelayAddrs[i] {
|
||||
relayupdate = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
err = node.Update(&newNode)
|
||||
if err != nil {
|
||||
|
@ -769,7 +772,10 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
|||
return
|
||||
}
|
||||
if relayupdate {
|
||||
UpdateRelay(node.Network, oldRelayAddrs, node.RelayAddrs)
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
if servercfg.IsDNSMode() {
|
||||
|
|
|
@ -4,6 +4,7 @@ import (
|
|||
"encoding/json"
|
||||
"errors"
|
||||
"net/http"
|
||||
"time"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/gravitl/netmaker/database"
|
||||
"github.com/gravitl/netmaker/functions"
|
||||
|
@ -112,6 +113,7 @@ func ValidateRelay(relay models.RelayRequest) error {
|
|||
}
|
||||
|
||||
func UpdateRelay(network string, oldAddrs []string, newAddrs []string) {
|
||||
time.Sleep(time.Second/4)
|
||||
err := SetNodesDoNotPropagate("no", network, oldAddrs)
|
||||
if err != nil {
|
||||
functions.PrintUserLog("netmaker",err.Error(),1)
|
||||
|
|
Loading…
Add table
Reference in a new issue