Browse Source

Merge pull request #806 from gravitl/feature_v0.11.0_efficiency

made node update with server more efficient
dcarns 3 years ago
parent
commit
b626a8d20d

+ 8 - 2
mq/handlers.go

@@ -113,12 +113,18 @@ func ClientPeerUpdate(client mqtt.Client, msg mqtt.Message) {
 				return
 			}
 		case ncutils.DONE:
+			currentServerNode, err := logic.GetNetworkServerLocal(currentNode.Network)
+			if err != nil {
+				return
+			}
+			if err := logic.ServerUpdate(&currentServerNode, false); err != nil {
+				logger.Log(1, "server node:", currentServerNode.ID, "failed update")
+				return
+			}
 			if err := PublishPeerUpdate(&currentNode); err != nil {
 				logger.Log(1, "error publishing peer update ", err.Error())
 				return
 			}
-		case ncutils.KEY:
-			logger.Log(0, "I should have broke")
 		}
 
 		logger.Log(1, "sent peer updates after signal received from", id, currentNode.Name)

+ 1 - 1
netclient/functions/daemon.go

@@ -96,11 +96,11 @@ func UpdateKeys(nodeCfg *config.ClientConfig, client mqtt.Client) error {
 		ncutils.Log("error updating local config " + err.Error())
 	}
 	var commsCfg = getCommsCfgByNode(&nodeCfg.Node)
-	PublishNodeUpdate(&commsCfg, nodeCfg)
 	if err = wireguard.ApplyConf(&nodeCfg.Node, nodeCfg.Node.Interface, file); err != nil {
 		ncutils.Log("error applying new config " + err.Error())
 		return err
 	}
+	PublishNodeUpdate(&commsCfg, nodeCfg)
 	return nil
 }
 

+ 6 - 6
netclient/functions/mqhandlers.go

@@ -93,12 +93,12 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
 		return
 	}
 	if ifaceDelta { // if a change caused an ifacedelta we need to notify the server to update the peers
-		ackErr := publishSignal(&commsCfg, &nodeCfg, ncutils.ACK)
-		if ackErr != nil {
-			ncutils.Log("could not notify server that it received an interface update")
-		} else {
-			ncutils.Log("signalled acknowledgement of change to server")
-		}
+		// ackErr := publishSignal(&commsCfg, &nodeCfg, ncutils.ACK)
+		// if ackErr != nil {
+		// 	ncutils.Log("could not notify server that it received an interface update")
+		// } else {
+		// 	ncutils.Log("signalled acknowledgement of change to server")
+		// }
 		ncutils.Log("applying WG conf to " + file)
 		err = wireguard.ApplyConf(&nodeCfg.Node, nodeCfg.Node.Interface, file)
 		if err != nil {

+ 0 - 4
netclient/ncutils/constants.go

@@ -5,8 +5,4 @@ const (
 	ACK = 1
 	// DONE - done signal for MQ
 	DONE = 2
-	// KEY - key update completed signal for MQ
-	KEY = 3
-	// COMMS_NETWORK_NAME - name of signalling network
-	COMMS_NETWORK_NAME = "n37m8k3r"
 )