Browse Source

modify syncservernetwork

afeiszli 3 years ago
parent
commit
a182d7f4ed
3 changed files with 22 additions and 18 deletions
  1. 1 1
      controllers/node_grpc.go
  2. 1 1
      mq/mq.go
  3. 20 16
      serverctl/serverctl.go

+ 1 - 1
controllers/node_grpc.go

@@ -148,7 +148,7 @@ func getServerAddrs(node *models.Node) {
 	serverNodes := logic.GetServerNodes(node.Network)
 	//pubIP, _ := servercfg.GetPublicIP()
 	if len(serverNodes) == 0 {
-		if err := serverctl.SyncServerNetwork(node); err != nil {
+		if err := serverctl.SyncServerNetwork(node.Network); err != nil {
 			return
 		}
 	}

+ 1 - 1
mq/mq.go

@@ -215,7 +215,7 @@ func Keepalive(ctx context.Context) {
 				} else {
 					logger.Log(2, "keepalive sent for network", network.NetID)
 				}
-				err = serverctl.SyncServerNetwork(&serverNode)
+				err = serverctl.SyncServerNetwork(network.NetID)
 				if err != nil {
 					logger.Log(1, "error syncing server network", err.Error())
 				}

+ 20 - 16
serverctl/serverctl.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/netclient/ncutils"
 )
 
@@ -28,8 +27,8 @@ func InitServerNetclient() error {
 }
 
 // SyncServerNetwork - ensures a wg interface and node exists for server
-func SyncServerNetwork(serverNode *models.Node) error {
-	serverNetworkSettings, err := logic.GetNetwork(serverNode.Network)
+func SyncServerNetwork(network string) error {
+	serverNetworkSettings, err := logic.GetNetwork(network)
 	if err != nil {
 		return err
 	}
@@ -43,6 +42,7 @@ func SyncServerNetwork(serverNode *models.Node) error {
 			exists = true
 		}
 	}
+	// add networks locally that exist in database
 	if !exists {
 		err := logic.ServerJoin(&serverNetworkSettings)
 		if err != nil {
@@ -54,22 +54,26 @@ func SyncServerNetwork(serverNode *models.Node) error {
 			}
 		}
 	}
-	for _, localnet := range localnets {
-		if strings.Contains(localnet.Name, "nm-") {
-			var exists = ""
-			if serverNetworkSettings.DefaultInterface == localnet.Name {
-				exists = serverNetworkSettings.NetID
-			}
-			if exists == "" {
-				err := logic.DeleteNodeByID(serverNode, true)
-				if err != nil {
-					if err == nil {
-						err = errors.New("network delete failed for " + exists)
+
+	// remove networks locally that do not exist in database
+	/*
+		for _, localnet := range localnets {
+			if strings.Contains(localnet.Name, "nm-") {
+				var exists = ""
+				if serverNetworkSettings.DefaultInterface == localnet.Name {
+					exists = serverNetworkSettings.NetID
+				}
+				if exists == "" {
+					err := logic.DeleteNodeByID(serverNode, true)
+					if err != nil {
+						if err == nil {
+							err = errors.New("network delete failed for " + exists)
+						}
+						logger.Log(1, "error removing network", exists, "during sync", err.Error())
 					}
-					logger.Log(1, "error removing network", exists, "during sync", err.Error())
 				}
 			}
 		}
-	}
+	*/
 	return nil
 }