mirror of
				https://github.com/gravitl/netmaker.git
				synced 2025-10-31 12:16:29 +08:00 
			
		
		
		
	fix peer sync
This commit is contained in:
		| @@ -371,3 +371,14 @@ func setNetworkServerPeers(serverNode *models.Node) { | |||||||
| 		logger.Log(1, "could not set peers on network", serverNode.Network, ":", err.Error()) | 		logger.Log(1, "could not set peers on network", serverNode.Network, ":", err.Error()) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // ShouldPublishPeerPorts - Gets ports from iface, sets, and returns true if they are different | ||||||
|  | func ShouldPublishPeerPorts(serverNode *models.Node) bool { | ||||||
|  | 	if currentPeersList, err := getSystemPeers(serverNode); err == nil { | ||||||
|  | 		if database.SetPeers(currentPeersList, serverNode.Network) { | ||||||
|  | 			logger.Log(1, "set new peers on network", serverNode.Network) | ||||||
|  | 			return true | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return false | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								mq/mq.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								mq/mq.go
									
									
									
									
									
								
							| @@ -17,7 +17,7 @@ import ( | |||||||
| 	"github.com/gravitl/netmaker/servercfg" | 	"github.com/gravitl/netmaker/servercfg" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const KEEPALIVE_TIMEOUT = 60 //timeout in seconds | const KEEPALIVE_TIMEOUT = 10 //timeout in seconds | ||||||
| const MQ_DISCONNECT = 250 | const MQ_DISCONNECT = 250 | ||||||
|  |  | ||||||
| // DefaultHandler default message queue handler - only called when GetDebug == true | // DefaultHandler default message queue handler - only called when GetDebug == true | ||||||
| @@ -198,6 +198,13 @@ func Keepalive(ctx context.Context) { | |||||||
| 						id = servAddr.ID | 						id = servAddr.ID | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
|  | 				serverNode, errN := logic.GetNodeByID(id) | ||||||
|  | 				if errN == nil && network.DefaultUDPHolePunch == "yes" && logic.ShouldPublishPeerPorts(&serverNode) { | ||||||
|  | 					err = PublishPeerUpdate(&serverNode) | ||||||
|  | 					if err != nil { | ||||||
|  | 						logger.Log(1, "error publishing udp port updates", err.Error()) | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
| 				if id == "" { | 				if id == "" { | ||||||
| 					logger.Log(0, "leader not defined for network", network.NetID) | 					logger.Log(0, "leader not defined for network", network.NetID) | ||||||
| 					continue | 					continue | ||||||
| @@ -207,8 +214,8 @@ func Keepalive(ctx context.Context) { | |||||||
| 				} else { | 				} else { | ||||||
| 					logger.Log(2, "keepalive sent for network", network.NetID) | 					logger.Log(2, "keepalive sent for network", network.NetID) | ||||||
| 				} | 				} | ||||||
| 				client.Disconnect(MQ_DISCONNECT) |  | ||||||
| 			} | 			} | ||||||
|  | 			client.Disconnect(MQ_DISCONNECT) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 afeiszli
					afeiszli