mirror of
				https://github.com/gravitl/netmaker.git
				synced 2025-11-01 00:49:04 +08:00 
			
		
		
		
	
						commit
						dbb44c2867
					
				
					 2 changed files with 13 additions and 1 deletions
				
			
		|  | @ -219,6 +219,14 @@ func failOverME(w http.ResponseWriter, r *http.Request) { | |||
| 		) | ||||
| 		return | ||||
| 	} | ||||
| 	if peerNode.IsFailOver { | ||||
| 		logic.ReturnErrorResponse( | ||||
| 			w, | ||||
| 			r, | ||||
| 			logic.FormatError(errors.New("peer is acting as failover"), "badrequest"), | ||||
| 		) | ||||
| 		return | ||||
| 	} | ||||
| 	if node.IsRelayed && node.RelayedBy == peerNode.ID.String() { | ||||
| 		logic.ReturnErrorResponse( | ||||
| 			w, | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ package logic | |||
| import ( | ||||
| 	"errors" | ||||
| 	"net" | ||||
| 	"sync" | ||||
| 
 | ||||
| 	"github.com/google/uuid" | ||||
| 	"github.com/gravitl/netmaker/logger" | ||||
|  | @ -11,8 +12,11 @@ import ( | |||
| 	"golang.org/x/exp/slog" | ||||
| ) | ||||
| 
 | ||||
| func SetFailOverCtx(failOverNode, victimNode, peerNode models.Node) error { | ||||
| var failOverCtxMutex = &sync.RWMutex{} | ||||
| 
 | ||||
| func SetFailOverCtx(failOverNode, victimNode, peerNode models.Node) error { | ||||
| 	failOverCtxMutex.Lock() | ||||
| 	defer failOverCtxMutex.Unlock() | ||||
| 	if peerNode.FailOverPeers == nil { | ||||
| 		peerNode.FailOverPeers = make(map[string]struct{}) | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue