Răsfoiți Sursa

fix failover egress HA

abhishek9686 5 luni în urmă
părinte
comite
c841edecdf
2 a modificat fișierele cu 4 adăugiri și 4 ștergeri
  1. 3 3
      logic/peers.go
  2. 1 1
      pro/controllers/users.go

+ 3 - 3
logic/peers.go

@@ -6,7 +6,6 @@ import (
 	"net"
 	"net/netip"
 
-	"github.com/google/uuid"
 	"github.com/gravitl/netmaker/database"
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logic/acls/nodeacls"
@@ -242,9 +241,10 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
 				PersistentKeepaliveInterval: &peerHost.PersistentKeepalive,
 				ReplaceAllowedIPs:           true,
 			}
+			_, isFailOverPeer := node.FailOverPeers[peer.ID.String()]
 			if peer.IsEgressGateway {
 				peerKey := peerHost.PublicKey.String()
-				if peer.FailedOverBy != uuid.Nil && peer.FailedOverBy.String() != node.ID.String() {
+				if isFailOverPeer && peer.FailedOverBy.String() != node.ID.String() {
 					// get relay host
 					failOverNode, err := GetNodeByID(peer.FailedOverBy.String())
 					if err == nil {
@@ -278,7 +278,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
 			if peer.IsIngressGateway {
 				hostPeerUpdate.EgressRoutes = append(hostPeerUpdate.EgressRoutes, getExtpeersExtraRoutes(node)...)
 			}
-			_, isFailOverPeer := node.FailOverPeers[peer.ID.String()]
+
 			if (node.IsRelayed && node.RelayedBy != peer.ID.String()) ||
 				(peer.IsRelayed && peer.RelayedBy != node.ID.String()) || isFailOverPeer {
 				// if node is relayed and peer is not the relay, set remove to true

+ 1 - 1
pro/controllers/users.go

@@ -424,7 +424,7 @@ func createUserGroup(w http.ResponseWriter, r *http.Request) {
 			ID:          uuid.New().String(),
 			Name:        fmt.Sprintf("%s group", userGroupReq.Group.Name),
 			MetaData:    "This Policy allows user group to communicate with all gateways",
-			Default:     true,
+			Default:     false,
 			ServiceType: models.Any,
 			NetworkID:   models.NetworkID(network.NetID),
 			Proto:       models.ALL,