diff --git a/controllers/relay.go b/controllers/relay.go index 1d91c2ca..21c2fb4c 100644 --- a/controllers/relay.go +++ b/controllers/relay.go @@ -8,7 +8,6 @@ import ( "github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logic" "github.com/gravitl/netmaker/models" - "github.com/gravitl/netmaker/mq" ) func createRelay(w http.ResponseWriter, r *http.Request) { @@ -27,17 +26,10 @@ func createRelay(w http.ResponseWriter, r *http.Request) { returnErrorResponse(w, r, formatError(err, "internal")) return } - - if err := mq.NodeUpdate(&node); err != nil { - logger.Log(1, "error publishing node update", err.Error()) - } - - if err = runServerPeerUpdate(&node, isServer(&node)); err != nil { - logger.Log(1, "internal error when creating relay on node:", relay.NodeID) - } logger.Log(1, r.Header.Get("user"), "created relay on node", relay.NodeID, "on network", relay.NetID) w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(node) + runUpdates(&node, true) } func deleteRelay(w http.ResponseWriter, r *http.Request) { @@ -50,18 +42,8 @@ func deleteRelay(w http.ResponseWriter, r *http.Request) { returnErrorResponse(w, r, formatError(err, "internal")) return } - if err = runServerPeerUpdate(&node, isServer(&node)); err != nil { - logger.Log(1, "internal error when deleting relay on node:", nodeid) - } - go func() { - if err := mq.NodeUpdate(&node); err != nil { - logger.Log(1, "error publishing node update", err.Error()) - } - if err := mq.PublishPeerUpdate(&node); err != nil { - logger.Log(1, "error publishing peer update ", err.Error()) - } - }() logger.Log(1, r.Header.Get("user"), "deleted relay server", nodeid, "on network", netid) w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(node) + runUpdates(&node, true) } diff --git a/mq/mq.go b/mq/mq.go index f5e973ef..264cd3c1 100644 --- a/mq/mq.go +++ b/mq/mq.go @@ -108,8 +108,10 @@ func PublishPeerUpdate(newNode *models.Node) error { for _, node := range networkNodes { if node.IsServer == "yes" || node.ID == newNode.ID { + log.Println("skipping update on " + node.Name + " : " + node.ID) continue } + log.Println("running update on " + node.Name + " : " + node.ID) peerUpdate, err := logic.GetPeerUpdate(&node) if err != nil { logger.Log(1, "error getting peer update for node", node.ID, err.Error()) diff --git a/netclient/functions/join.go b/netclient/functions/join.go index dfde3454..a5487948 100644 --- a/netclient/functions/join.go +++ b/netclient/functions/join.go @@ -125,6 +125,8 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string) error { // differentiate between client/server here var node = models.Node{ Password: cfg.Node.Password, + Address: cfg.Node.Address, + Address6: cfg.Node.Address6, ID: cfg.Node.ID, MacAddress: cfg.Node.MacAddress, AccessKey: cfg.Server.AccessKey,