From 1944a9a8b2d82641a6366ae884f0887c2a68a5ac Mon Sep 17 00:00:00 2001 From: abhishek9686 Date: Fri, 7 Nov 2025 11:52:43 +0400 Subject: [PATCH] disable failover field --- logic/gateway.go | 2 +- logic/relay.go | 4 ++-- logic/usage.go | 2 +- models/api_node.go | 7 ++++--- pro/logic/failover.go | 1 + 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/logic/gateway.go b/logic/gateway.go index 8a13fa04..1c5c8791 100644 --- a/logic/gateway.go +++ b/logic/gateway.go @@ -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()) diff --git a/logic/relay.go b/logic/relay.go index 8c75699d..4aff1e06 100644 --- a/logic/relay.go +++ b/logic/relay.go @@ -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) diff --git a/logic/usage.go b/logic/usage.go index 1958aa47..d459db3b 100644 --- a/logic/usage.go +++ b/logic/usage.go @@ -66,7 +66,7 @@ func GetCurrentServerUsage() (limits models.Usage) { limits.InternetGateways++ netUsage.InternetGateways++ } - if node.IsFailOver { + if node.IsAutoRelay { limits.FailOvers++ netUsage.FailOvers++ } diff --git a/models/api_node.go b/models/api_node.go index d9634ef9..1d9f0504 100644 --- a/models/api_node.go +++ b/models/api_node.go @@ -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 diff --git a/pro/logic/failover.go b/pro/logic/failover.go index b7e65658..48ac760e 100644 --- a/pro/logic/failover.go +++ b/pro/logic/failover.go @@ -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") }