|
@@ -5,6 +5,7 @@ import (
|
|
"fmt"
|
|
"fmt"
|
|
"net"
|
|
"net"
|
|
|
|
|
|
|
|
+ "github.com/google/uuid"
|
|
"github.com/gravitl/netmaker/logic"
|
|
"github.com/gravitl/netmaker/logic"
|
|
"github.com/gravitl/netmaker/models"
|
|
"github.com/gravitl/netmaker/models"
|
|
"golang.org/x/exp/slog"
|
|
"golang.org/x/exp/slog"
|
|
@@ -29,6 +30,9 @@ func ValidateInetGwReq(inetNode models.Node, req models.InetNodeReq, update bool
|
|
if inetNode.IsRelayed {
|
|
if inetNode.IsRelayed {
|
|
return fmt.Errorf("node %s is being relayed", inetHost.Name)
|
|
return fmt.Errorf("node %s is being relayed", inetHost.Name)
|
|
}
|
|
}
|
|
|
|
+ if inetNode.FailedOverBy != uuid.Nil {
|
|
|
|
+ ResetFailedOverPeer(&inetNode)
|
|
|
|
+ }
|
|
for _, clientNodeID := range req.InetNodeClientIDs {
|
|
for _, clientNodeID := range req.InetNodeClientIDs {
|
|
clientNode, err := logic.GetNodeByID(clientNodeID)
|
|
clientNode, err := logic.GetNodeByID(clientNodeID)
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -53,6 +57,9 @@ func ValidateInetGwReq(inetNode models.Node, req models.InetNodeReq, update bool
|
|
return fmt.Errorf("node %s is already using a internet gateway", clientHost.Name)
|
|
return fmt.Errorf("node %s is already using a internet gateway", clientHost.Name)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if clientNode.FailedOverBy != uuid.Nil {
|
|
|
|
+ ResetFailedOverPeer(&clientNode)
|
|
|
|
+ }
|
|
|
|
|
|
if clientNode.IsRelayed {
|
|
if clientNode.IsRelayed {
|
|
return fmt.Errorf("node %s is being relayed", clientHost.Name)
|
|
return fmt.Errorf("node %s is being relayed", clientHost.Name)
|