mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-26 08:53:05 +00:00
Reduce poll logging to debug (#1746)
Before this logged ~10 messages every few seconds and quite spamming the log.
This commit is contained in:
parent
5717c8255a
commit
1b01b9e14f
1 changed files with 27 additions and 17 deletions
|
@ -30,9 +30,19 @@ type UpdateNode func()
|
||||||
func logPollFunc(
|
func logPollFunc(
|
||||||
mapRequest tailcfg.MapRequest,
|
mapRequest tailcfg.MapRequest,
|
||||||
node *types.Node,
|
node *types.Node,
|
||||||
) (func(string), func(error, string)) {
|
) (func(string), func(string), func(error, string)) {
|
||||||
return func(msg string) {
|
return func(msg string) {
|
||||||
log.Info().
|
log.Trace().
|
||||||
|
Caller().
|
||||||
|
Bool("readOnly", mapRequest.ReadOnly).
|
||||||
|
Bool("omitPeers", mapRequest.OmitPeers).
|
||||||
|
Bool("stream", mapRequest.Stream).
|
||||||
|
Str("node_key", node.NodeKey.ShortString()).
|
||||||
|
Str("node", node.Hostname).
|
||||||
|
Msg(msg)
|
||||||
|
},
|
||||||
|
func(msg string) {
|
||||||
|
log.Warn().
|
||||||
Caller().
|
Caller().
|
||||||
Bool("readOnly", mapRequest.ReadOnly).
|
Bool("readOnly", mapRequest.ReadOnly).
|
||||||
Bool("omitPeers", mapRequest.OmitPeers).
|
Bool("omitPeers", mapRequest.OmitPeers).
|
||||||
|
@ -64,7 +74,7 @@ func (h *Headscale) handlePoll(
|
||||||
node *types.Node,
|
node *types.Node,
|
||||||
mapRequest tailcfg.MapRequest,
|
mapRequest tailcfg.MapRequest,
|
||||||
) {
|
) {
|
||||||
logInfo, logErr := logPollFunc(mapRequest, node)
|
logTrace, logWarn, logErr := logPollFunc(mapRequest, node)
|
||||||
|
|
||||||
// This is the mechanism where the node gives us information about its
|
// This is the mechanism where the node gives us information about its
|
||||||
// current configuration.
|
// current configuration.
|
||||||
|
@ -337,7 +347,7 @@ func (h *Headscale) handlePoll(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logInfo("Sending initial map")
|
logTrace("Sending initial map")
|
||||||
|
|
||||||
mapResp, err := mapp.FullMapResponse(mapRequest, node, h.ACLPolicy)
|
mapResp, err := mapp.FullMapResponse(mapRequest, node, h.ACLPolicy)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -384,7 +394,7 @@ func (h *Headscale) handlePoll(
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
for {
|
for {
|
||||||
logInfo("Waiting for update on stream channel")
|
logTrace("Waiting for update on stream channel")
|
||||||
select {
|
select {
|
||||||
case <-keepAliveTicker.C:
|
case <-keepAliveTicker.C:
|
||||||
data, err := mapp.KeepAliveResponse(mapRequest, node)
|
data, err := mapp.KeepAliveResponse(mapRequest, node)
|
||||||
|
@ -415,7 +425,7 @@ func (h *Headscale) handlePoll(
|
||||||
go h.updateNodeOnlineStatus(true, node)
|
go h.updateNodeOnlineStatus(true, node)
|
||||||
|
|
||||||
case update := <-updateChan:
|
case update := <-updateChan:
|
||||||
logInfo("Received update")
|
logTrace("Received update")
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
|
|
||||||
var data []byte
|
var data []byte
|
||||||
|
@ -434,11 +444,11 @@ func (h *Headscale) handlePoll(
|
||||||
startMapResp := time.Now()
|
startMapResp := time.Now()
|
||||||
switch update.Type {
|
switch update.Type {
|
||||||
case types.StateFullUpdate:
|
case types.StateFullUpdate:
|
||||||
logInfo("Sending Full MapResponse")
|
logTrace("Sending Full MapResponse")
|
||||||
|
|
||||||
data, err = mapp.FullMapResponse(mapRequest, node, h.ACLPolicy)
|
data, err = mapp.FullMapResponse(mapRequest, node, h.ACLPolicy)
|
||||||
case types.StatePeerChanged:
|
case types.StatePeerChanged:
|
||||||
logInfo(fmt.Sprintf("Sending Changed MapResponse: %s", update.Message))
|
logTrace(fmt.Sprintf("Sending Changed MapResponse: %s", update.Message))
|
||||||
|
|
||||||
isConnectedMap := h.nodeNotifier.ConnectedMap()
|
isConnectedMap := h.nodeNotifier.ConnectedMap()
|
||||||
for _, node := range update.ChangeNodes {
|
for _, node := range update.ChangeNodes {
|
||||||
|
@ -455,21 +465,21 @@ func (h *Headscale) handlePoll(
|
||||||
|
|
||||||
data, err = mapp.PeerChangedResponse(mapRequest, node, update.ChangeNodes, h.ACLPolicy, update.Message)
|
data, err = mapp.PeerChangedResponse(mapRequest, node, update.ChangeNodes, h.ACLPolicy, update.Message)
|
||||||
case types.StatePeerChangedPatch:
|
case types.StatePeerChangedPatch:
|
||||||
logInfo("Sending PeerChangedPatch MapResponse")
|
logTrace("Sending PeerChangedPatch MapResponse")
|
||||||
data, err = mapp.PeerChangedPatchResponse(mapRequest, node, update.ChangePatches, h.ACLPolicy)
|
data, err = mapp.PeerChangedPatchResponse(mapRequest, node, update.ChangePatches, h.ACLPolicy)
|
||||||
case types.StatePeerRemoved:
|
case types.StatePeerRemoved:
|
||||||
logInfo("Sending PeerRemoved MapResponse")
|
logTrace("Sending PeerRemoved MapResponse")
|
||||||
data, err = mapp.PeerRemovedResponse(mapRequest, node, update.Removed)
|
data, err = mapp.PeerRemovedResponse(mapRequest, node, update.Removed)
|
||||||
case types.StateSelfUpdate:
|
case types.StateSelfUpdate:
|
||||||
if len(update.ChangeNodes) == 1 {
|
if len(update.ChangeNodes) == 1 {
|
||||||
logInfo("Sending SelfUpdate MapResponse")
|
logTrace("Sending SelfUpdate MapResponse")
|
||||||
node = update.ChangeNodes[0]
|
node = update.ChangeNodes[0]
|
||||||
data, err = mapp.LiteMapResponse(mapRequest, node, h.ACLPolicy, types.SelfUpdateIdentifier)
|
data, err = mapp.LiteMapResponse(mapRequest, node, h.ACLPolicy, types.SelfUpdateIdentifier)
|
||||||
} else {
|
} else {
|
||||||
logInfo("SelfUpdate contained too many nodes, this is likely a bug in the code, please report.")
|
logWarn("SelfUpdate contained too many nodes, this is likely a bug in the code, please report.")
|
||||||
}
|
}
|
||||||
case types.StateDERPUpdated:
|
case types.StateDERPUpdated:
|
||||||
logInfo("Sending DERPUpdate MapResponse")
|
logTrace("Sending DERPUpdate MapResponse")
|
||||||
data, err = mapp.DERPMapResponse(mapRequest, node, update.DERPMap)
|
data, err = mapp.DERPMapResponse(mapRequest, node, update.DERPMap)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -516,7 +526,7 @@ func (h *Headscale) handlePoll(
|
||||||
}
|
}
|
||||||
|
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
logInfo("The client has closed the connection")
|
logTrace("The client has closed the connection")
|
||||||
|
|
||||||
go h.updateNodeOnlineStatus(false, node)
|
go h.updateNodeOnlineStatus(false, node)
|
||||||
|
|
||||||
|
@ -527,7 +537,7 @@ func (h *Headscale) handlePoll(
|
||||||
return
|
return
|
||||||
|
|
||||||
case <-h.shutdownChan:
|
case <-h.shutdownChan:
|
||||||
logInfo("The long-poll handler is shutting down")
|
logTrace("The long-poll handler is shutting down")
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -598,7 +608,7 @@ func (h *Headscale) handleLiteRequest(
|
||||||
node *types.Node,
|
node *types.Node,
|
||||||
mapRequest tailcfg.MapRequest,
|
mapRequest tailcfg.MapRequest,
|
||||||
) {
|
) {
|
||||||
logInfo, logErr := logPollFunc(mapRequest, node)
|
logTrace, _, logErr := logPollFunc(mapRequest, node)
|
||||||
|
|
||||||
mapp := mapper.NewMapper(
|
mapp := mapper.NewMapper(
|
||||||
node,
|
node,
|
||||||
|
@ -610,7 +620,7 @@ func (h *Headscale) handleLiteRequest(
|
||||||
h.cfg.RandomizeClientPort,
|
h.cfg.RandomizeClientPort,
|
||||||
)
|
)
|
||||||
|
|
||||||
logInfo("Client asked for a lite update, responding without peers")
|
logTrace("Client asked for a lite update, responding without peers")
|
||||||
|
|
||||||
mapResp, err := mapp.LiteMapResponse(mapRequest, node, h.ACLPolicy)
|
mapResp, err := mapp.LiteMapResponse(mapRequest, node, h.ACLPolicy)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue