NET-1307: restrict failover node from being relayed (#2960)

* restrict failover node from being relayed

* set errors on failover valid checks
This commit is contained in:
Abhishek K 2024-06-04 13:37:35 +04:00 committed by GitHub
parent 7ff30599ed
commit 87b2c1bb33
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 2 deletions

View file

@ -170,10 +170,10 @@ func CreateFailOver(node models.Node) error {
return err
}
if host.OS != models.OS_Types.Linux {
return err
return errors.New("only linux nodes are allowed to be set as failover")
}
if node.IsRelayed {
return err
return errors.New("relayed node cannot be set as failover")
}
node.IsFailOver = true
err = logic.UpsertNode(&node)

View file

@ -123,6 +123,9 @@ func ValidateRelay(relay models.RelayRequest, update bool) error {
if relayedNode.IsInternetGateway {
return errors.New("cannot relay an internet gateway (" + relayedNodeID + ")")
}
if relayedNode.IsFailOver {
return errors.New("cannot relay a failOver (" + relayedNodeID + ")")
}
if relayedNode.FailedOverBy != uuid.Nil {
ResetFailedOverPeer(&relayedNode)
}