Переглянути джерело

add validation check for default host and failover for inet clients

abhishek9686 4 місяців тому
батько
коміт
035e8db3d3
1 змінених файлів з 6 додано та 3 видалено
  1. 6 3
      pro/logic/nodes.go

+ 6 - 3
pro/logic/nodes.go

@@ -21,9 +21,6 @@ func ValidateInetGwReq(inetNode models.Node, req models.InetNodeReq, update bool
 	if err != nil {
 		return err
 	}
-	if inetHost.IsDefault {
-		return errors.New("default host cannot be set to use internet gateway")
-	}
 	if inetHost.FirewallInUse == models.FIREWALL_NONE {
 		return errors.New("iptables or nftables needs to be installed")
 	}
@@ -39,10 +36,16 @@ func ValidateInetGwReq(inetNode models.Node, req models.InetNodeReq, update bool
 		if err != nil {
 			return err
 		}
+		if clientNode.IsFailOver {
+			return errors.New("failover node cannot be set to use internet gateway")
+		}
 		clientHost, err := logic.GetHost(clientNode.HostID.String())
 		if err != nil {
 			return err
 		}
+		if clientHost.IsDefault {
+			return errors.New("default host cannot be set to use internet gateway")
+		}
 		if clientHost.OS != models.OS_Types.Linux && clientHost.OS != models.OS_Types.Windows {
 			return errors.New("can only attach linux or windows machine to a internet gateway")
 		}