disable failover field

This commit is contained in:
abhishek9686
2025-11-07 11:52:43 +04:00
parent efa84dc42b
commit 1944a9a8b2
5 changed files with 9 additions and 7 deletions

View File

@@ -346,7 +346,7 @@ func ValidateInetGwReq(inetNode models.Node, req models.InetNodeReq, update bool
if err != nil {
return err
}
if clientNode.IsFailOver {
if clientNode.IsFailOver || clientNode.IsAutoRelay {
return errors.New("failover node cannot be set to use internet gateway")
}
clientHost, err := GetHost(clientNode.HostID.String())

View File

@@ -136,8 +136,8 @@ func ValidateRelay(relay models.RelayRequest, update bool) error {
if relayedNode.InternetGwID != "" && relayedNode.InternetGwID != relay.NodeID {
return errors.New("cannot relay an internet client (" + relayedNodeID + ")")
}
if relayedNode.IsFailOver {
return errors.New("cannot relay a failOver (" + relayedNodeID + ")")
if relayedNode.IsFailOver || relayedNode.IsAutoRelay {
return errors.New("cannot relay a auto relay node (" + relayedNodeID + ")")
}
if relayedNode.FailedOverBy != uuid.Nil {
ResetFailedOverPeer(&relayedNode)

View File

@@ -66,7 +66,7 @@ func GetCurrentServerUsage() (limits models.Usage) {
limits.InternetGateways++
netUsage.InternetGateways++
}
if node.IsFailOver {
if node.IsAutoRelay {
limits.FailOvers++
netUsage.FailOvers++
}

View File

@@ -86,8 +86,9 @@ func (a *ApiNode) ConvertToServerNode(currentNode *Node) *Node {
convertedNode.RelayedBy = a.RelayedBy
convertedNode.RelayedNodes = a.RelayedNodes
convertedNode.PendingDelete = a.PendingDelete
convertedNode.FailedOverBy = currentNode.FailedOverBy
convertedNode.FailOverPeers = currentNode.FailOverPeers
convertedNode.FailedOverBy = uuid.Nil
convertedNode.FailOverPeers = make(map[string]struct{})
convertedNode.IsFailOver = false
//convertedNode.IsIngressGateway = a.IsIngressGateway
convertedNode.IngressGatewayRange = currentNode.IngressGatewayRange
convertedNode.IngressGatewayRange6 = currentNode.IngressGatewayRange6
@@ -213,7 +214,7 @@ func (nm *Node) ConvertToAPINode() *ApiNode {
apiNode.IsInternetGateway = nm.IsInternetGateway
apiNode.InternetGwID = nm.InternetGwID
apiNode.InetNodeReq = nm.InetNodeReq
apiNode.IsFailOver = nm.IsFailOver
apiNode.IsFailOver = false
apiNode.FailOverPeers = nm.FailOverPeers
apiNode.FailedOverBy = nm.FailedOverBy
apiNode.Metadata = nm.Metadata

View File

@@ -263,6 +263,7 @@ func GetFailOverPeerIps(peer, node *models.Node) []net.IPNet {
}
func CreateFailOver(node models.Node) error {
return nil
if _, exists := FailOverExists(node.Network); exists {
return errors.New("failover already exists in the network")
}