Browse Source

modify syncservernetwork

afeiszli 3 years ago
parent
commit
294654d950
3 changed files with 17 additions and 5 deletions
  1. 4 0
      main.go
  2. 1 1
      servercfg/serverconf.go
  3. 12 4
      serverctl/serverctl.go

+ 4 - 0
main.go

@@ -39,6 +39,10 @@ func main() {
 func initialize() { // Client Mode Prereq Check
 func initialize() { // Client Mode Prereq Check
 	var err error
 	var err error
 
 
+	if servercfg.GetNodeID() == "" {
+		logger.FatalLog("error: must set NODE_ID, currently blank")
+	}
+
 	if err = database.InitializeDatabase(); err != nil {
 	if err = database.InitializeDatabase(); err != nil {
 		logger.FatalLog("Error connecting to database")
 		logger.FatalLog("Error connecting to database")
 	}
 	}

+ 1 - 1
servercfg/serverconf.go

@@ -538,7 +538,7 @@ func IsHostNetwork() bool {
 // GetNodeID - gets the node id
 // GetNodeID - gets the node id
 func GetNodeID() string {
 func GetNodeID() string {
 	var id string
 	var id string
-	id = getMacAddr()
+	// id = getMacAddr()
 	if os.Getenv("NODE_ID") != "" {
 	if os.Getenv("NODE_ID") != "" {
 		id = os.Getenv("NODE_ID")
 		id = os.Getenv("NODE_ID")
 	} else if config.Config.Server.NodeID != "" {
 	} else if config.Config.Server.NodeID != "" {

+ 12 - 4
serverctl/serverctl.go

@@ -36,14 +36,22 @@ func SyncServerNetwork(network string) error {
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
-	exists := false
+
+	ifaceExists := false
 	for _, localnet := range localnets {
 	for _, localnet := range localnets {
 		if serverNetworkSettings.DefaultInterface == localnet.Name {
 		if serverNetworkSettings.DefaultInterface == localnet.Name {
-			exists = true
+			ifaceExists = true
 		}
 		}
 	}
 	}
-	// add networks locally that exist in database
-	if !exists {
+
+	serverNodeID, err := logic.GetNetworkServerNodeID(network)
+	if !ifaceExists && (err == nil && serverNodeID != "") {
+		serverNode, err := logic.GetNodeByID(serverNodeID)
+		if err != nil {
+			return err
+		}
+		return logic.ServerUpdate(&serverNode, true)
+	} else if !ifaceExists {
 		err := logic.ServerJoin(&serverNetworkSettings)
 		err := logic.ServerJoin(&serverNetworkSettings)
 		if err != nil {
 		if err != nil {
 			if err == nil {
 			if err == nil {