mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-29 15:36:28 +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