mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 17:29:15 +08:00
relay functionality working
This commit is contained in:
@@ -98,7 +98,6 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
relayupdate := false
|
relayupdate := false
|
||||||
oldRelayAddrs := node.RelayAddrs
|
|
||||||
if node.IsRelay == "yes" && len(newnode.RelayAddrs) > 0 {
|
if node.IsRelay == "yes" && len(newnode.RelayAddrs) > 0 {
|
||||||
for i, addr := range newnode.RelayAddrs {
|
for i, addr := range newnode.RelayAddrs {
|
||||||
if addr != node.RelayAddrs[i] {
|
if addr != node.RelayAddrs[i] {
|
||||||
@@ -111,7 +110,10 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if relayupdate {
|
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)
|
nodeData, err := json.Marshal(&newnode)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@@ -755,11 +755,14 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
newNode.PullChanges = "yes"
|
newNode.PullChanges = "yes"
|
||||||
relayupdate := false
|
relayupdate := false
|
||||||
oldRelayAddrs := node.RelayAddrs
|
|
||||||
if node.IsRelay == "yes" && len(newNode.RelayAddrs) > 0 {
|
if node.IsRelay == "yes" && len(newNode.RelayAddrs) > 0 {
|
||||||
for i, addr := range newNode.RelayAddrs {
|
if len(newNode.RelayAddrs) != len(node.RelayAddrs) {
|
||||||
if addr != node.RelayAddrs[i] {
|
|
||||||
relayupdate = true
|
relayupdate = true
|
||||||
|
} else {
|
||||||
|
for i, addr := range newNode.RelayAddrs {
|
||||||
|
if addr != node.RelayAddrs[i] {
|
||||||
|
relayupdate = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -769,7 +772,10 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if relayupdate {
|
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() {
|
if servercfg.IsDNSMode() {
|
||||||
|
@@ -4,6 +4,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"time"
|
||||||
"github.com/gorilla/mux"
|
"github.com/gorilla/mux"
|
||||||
"github.com/gravitl/netmaker/database"
|
"github.com/gravitl/netmaker/database"
|
||||||
"github.com/gravitl/netmaker/functions"
|
"github.com/gravitl/netmaker/functions"
|
||||||
@@ -112,6 +113,7 @@ func ValidateRelay(relay models.RelayRequest) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func UpdateRelay(network string, oldAddrs []string, newAddrs []string) {
|
func UpdateRelay(network string, oldAddrs []string, newAddrs []string) {
|
||||||
|
time.Sleep(time.Second/4)
|
||||||
err := SetNodesDoNotPropagate("no", network, oldAddrs)
|
err := SetNodesDoNotPropagate("no", network, oldAddrs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
functions.PrintUserLog("netmaker",err.Error(),1)
|
functions.PrintUserLog("netmaker",err.Error(),1)
|
||||||
|
Reference in New Issue
Block a user