mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-08 06:04:20 +08:00
commented out logic
This commit is contained in:
parent
a1ec5fb354
commit
75fc15ac4c
6 changed files with 41 additions and 35 deletions
|
@ -30,8 +30,8 @@ func InitEE() {
|
|||
AddLicenseHooks()
|
||||
})
|
||||
logic.EnterpriseFailoverFunc = eelogic.SetFailover
|
||||
logic.EnterpriseResetFailoverFunc = eelogic.ResetFailover
|
||||
resetFailover()
|
||||
// logic.EnterpriseResetFailoverFunc = eelogic.ResetFailover
|
||||
// resetFailover()
|
||||
}
|
||||
|
||||
func setControllerLimits() {
|
||||
|
@ -42,17 +42,17 @@ func setControllerLimits() {
|
|||
servercfg.Is_EE = true
|
||||
}
|
||||
|
||||
func resetFailover() {
|
||||
nets, err := logic.GetNetworks()
|
||||
if err == nil {
|
||||
for _, net := range nets {
|
||||
err = logic.EnterpriseResetFailoverFunc.(func(string) error)(net.NetID)
|
||||
if err != nil {
|
||||
logger.Log(0, "failed to reset failover on network", net.NetID, ":", err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// func resetFailover() {
|
||||
// nets, err := logic.GetNetworks()
|
||||
// if err == nil {
|
||||
// for _, net := range nets {
|
||||
// err = logic.EnterpriseResetFailoverFunc.(func(string) error)(net.NetID)
|
||||
// if err != nil {
|
||||
// logger.Log(0, "failed to reset failover on network", net.NetID, ":", err.Error())
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
func retrieveEELogo() string {
|
||||
return `
|
||||
|
|
|
@ -81,6 +81,9 @@ func setFailoverNode(failoverNode, node *models.Node) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if nodeToUpdate.FailoverNode == failoverNode.ID {
|
||||
return nil
|
||||
}
|
||||
return logic.UpdateNode(&nodeToUpdate, node)
|
||||
}
|
||||
|
||||
|
@ -89,6 +92,6 @@ func WipeFailover(nodeid string) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
metrics.NeedsFailover = make(map[string]string)
|
||||
metrics.FailoverPeers = make(map[string]string)
|
||||
return logic.UpdateMetrics(nodeid, metrics)
|
||||
}
|
||||
|
|
|
@ -224,9 +224,9 @@ func CreateIngressGateway(netid string, nodeid string, failover bool) (models.No
|
|||
node.PostUp = postUpCmd
|
||||
node.PostDown = postDownCmd
|
||||
node.UDPHolePunch = "no"
|
||||
if failover {
|
||||
node.Failover = "yes"
|
||||
}
|
||||
// if failover && servercfg.Is_EE {
|
||||
// node.Failover = "yes"
|
||||
// }
|
||||
data, err := json.Marshal(&node)
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
|
@ -275,10 +275,10 @@ func DeleteIngressGateway(networkName string, nodeid string) (models.Node, error
|
|||
}
|
||||
}
|
||||
|
||||
err = EnterpriseResetFailoverFunc.(func(string) error)(node.Network)
|
||||
if err != nil {
|
||||
logger.Log(0, "failed to reset failover on network", node.Network, ":", err.Error())
|
||||
}
|
||||
// err = EnterpriseResetFailoverFunc.(func(string) error)(node.Network)
|
||||
// if err != nil {
|
||||
// logger.Log(0, "failed to reset failover on network", node.Network, ":", err.Error())
|
||||
// }
|
||||
|
||||
data, err := json.Marshal(&node)
|
||||
if err != nil {
|
||||
|
|
|
@ -37,8 +37,8 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
|
|||
if servercfg.Is_EE {
|
||||
metrics, _ = GetMetrics(node.ID)
|
||||
}
|
||||
if metrics.NeedsFailover == nil {
|
||||
metrics.NeedsFailover = make(map[string]string)
|
||||
if metrics.FailoverPeers == nil {
|
||||
metrics.FailoverPeers = make(map[string]string)
|
||||
}
|
||||
// udppeers = the peers parsed from the local interface
|
||||
// gives us correct port to reach
|
||||
|
@ -92,8 +92,8 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
|
|||
if isP2S && peer.IsHub != "yes" {
|
||||
continue
|
||||
}
|
||||
if metrics.NeedsFailover[peer.ID] != "" {
|
||||
continue
|
||||
if len(metrics.FailoverPeers[peer.ID]) > 0 {
|
||||
logger.Log(0, "peer", peer.Name, peer.PrimaryAddress(), "was found to be in failover peers list for node", node.Name, node.PrimaryAddress())
|
||||
}
|
||||
pubkey, err := wgtypes.ParseKey(peer.PublicKey)
|
||||
if err != nil {
|
||||
|
@ -271,16 +271,17 @@ func GetAllowedIPs(node, peer *models.Node, metrics *models.Metrics) []net.IPNet
|
|||
allowedips = append(allowedips, extPeer.AllowedIPs...)
|
||||
}
|
||||
// if node is a failover node, add allowed ips from nodes it is handling
|
||||
if peer.Failover == "yes" && metrics.NeedsFailover != nil {
|
||||
if peer.Failover == "yes" && metrics.FailoverPeers != nil {
|
||||
// travers through nodes that need handling
|
||||
for k, v := range metrics.NeedsFailover {
|
||||
for k, v := range metrics.FailoverPeers {
|
||||
// if FailoverNode is me for this node, add allowedips
|
||||
if v == peer.ID {
|
||||
// get original node so we can traverse the allowed ips
|
||||
nodeToFailover, err := GetNodeByID(k)
|
||||
if err == nil {
|
||||
// get all allowedips and append
|
||||
allowedips = append(allowedips, getNodeAllowedIPs(&nodeToFailover, peer)...)
|
||||
// allowedips = append(allowedips, getNodeAllowedIPs(&nodeToFailover, peer)...)
|
||||
logger.Log(0, "failing over node", nodeToFailover.Name, nodeToFailover.PrimaryAddress())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ type Metrics struct {
|
|||
NodeName string `json:"node_name" bson:"node_name" yaml:"node_name"`
|
||||
IsServer string `json:"isserver" bson:"isserver" yaml:"isserver" validate:"checkyesorno"`
|
||||
Connectivity map[string]Metric `json:"connectivity" bson:"connectivity" yaml:"connectivity"`
|
||||
NeedsFailover map[string]string `json:"needsfailover" bson:"needsfailover" yaml:"needsfailover"`
|
||||
FailoverPeers map[string]string `json:"needsfailover" bson:"needsfailover" yaml:"needsfailover"`
|
||||
}
|
||||
|
||||
// Metric - holds a metric for data between nodes
|
||||
|
|
|
@ -209,16 +209,16 @@ func updateNodePeers(currentNode *models.Node) {
|
|||
}
|
||||
|
||||
func updateNodeMetrics(currentNode *models.Node, newMetrics *models.Metrics) {
|
||||
if newMetrics.NeedsFailover == nil {
|
||||
newMetrics.NeedsFailover = make(map[string]string)
|
||||
if newMetrics.FailoverPeers == nil {
|
||||
newMetrics.FailoverPeers = make(map[string]string)
|
||||
}
|
||||
oldMetrics, err := logic.GetMetrics(currentNode.ID)
|
||||
if err != nil {
|
||||
logger.Log(1, "error finding old metrics for node", currentNode.ID, currentNode.Name)
|
||||
return
|
||||
}
|
||||
if oldMetrics.NeedsFailover == nil {
|
||||
oldMetrics.NeedsFailover = make(map[string]string)
|
||||
if oldMetrics.FailoverPeers == nil {
|
||||
oldMetrics.FailoverPeers = make(map[string]string)
|
||||
}
|
||||
|
||||
var attachedClients []models.ExtClient
|
||||
|
@ -259,8 +259,10 @@ func updateNodeMetrics(currentNode *models.Node, newMetrics *models.Metrics) {
|
|||
return
|
||||
}
|
||||
for _, node := range nodes {
|
||||
if !newMetrics.Connectivity[node.ID].Connected && node.Connected == "yes" {
|
||||
newMetrics.NeedsFailover[node.ID] = node.FailoverNode
|
||||
if !newMetrics.Connectivity[node.ID].Connected &&
|
||||
len(newMetrics.Connectivity[node.ID].NodeName) > 0 &&
|
||||
node.Connected == "yes" {
|
||||
newMetrics.FailoverPeers[node.ID] = node.FailoverNode
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue