mirror of
https://github.com/gravitl/netmaker.git
synced 2024-09-20 15:26:04 +08:00
add peers if no failover present
This commit is contained in:
parent
40f7036093
commit
4f7583e2ec
|
@ -80,11 +80,15 @@ func setFailoverNode(failoverNode, node *models.Node) error {
|
|||
return logic.UpdateNode(&nodeToUpdate, node)
|
||||
}
|
||||
|
||||
// WipeFailover - removes the failover peers of given node (ID)
|
||||
func WipeFailover(nodeid string) error {
|
||||
metrics, err := logic.GetMetrics(nodeid)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
metrics.FailoverPeers = make(map[string]string)
|
||||
return logic.UpdateMetrics(nodeid, metrics)
|
||||
if metrics != nil {
|
||||
metrics.FailoverPeers = make(map[string]string)
|
||||
return logic.UpdateMetrics(nodeid, metrics)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -250,6 +250,20 @@ func ValidateNode(node *models.Node, isUpdate bool) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// IsFailoverPresent - checks if a node is marked as a failover in given network
|
||||
func IsFailoverPresent(network string) bool {
|
||||
netNodes, err := GetNetworkNodes(network)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
for i := range netNodes {
|
||||
if netNodes[i].Failover == "yes" {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// CreateNode - creates a node in database
|
||||
func CreateNode(node *models.Node) error {
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
|
|||
if isP2S && peer.IsHub != "yes" {
|
||||
continue
|
||||
}
|
||||
if len(metrics.FailoverPeers[peer.ID]) > 0 {
|
||||
if len(metrics.FailoverPeers[peer.ID]) > 0 && IsFailoverPresent(node.Network) {
|
||||
logger.Log(2, "peer", peer.Name, peer.PrimaryAddress(), "was found to be in failover peers list for node", node.Name, node.PrimaryAddress())
|
||||
continue
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue