diff --git a/.changelog/14125.txt b/.changelog/14125.txt new file mode 100644 index 000000000000..04da59dfb4db --- /dev/null +++ b/.changelog/14125.txt @@ -0,0 +1,3 @@ +```release-note:improvement +server: Log when a node's eligibility changes +``` diff --git a/nomad/node_endpoint.go b/nomad/node_endpoint.go index 39b870186009..c13ec70cc565 100644 --- a/nomad/node_endpoint.go +++ b/nomad/node_endpoint.go @@ -661,6 +661,7 @@ func (n *Node) UpdateDrain(args *structs.NodeUpdateDrainRequest, // If the node is transitioning to be eligible, create Node evaluations // because there may be a System job registered that should be evaluated. if node.SchedulingEligibility == structs.NodeSchedulingIneligible && args.MarkEligible && args.DrainStrategy == nil { + n.logger.Info("node transitioning to eligible state", "node_id", node.ID) evalIDs, evalIndex, err := n.createNodeEvals(node, index) if err != nil { n.logger.Error("eval creation failed", "error", err) @@ -736,8 +737,10 @@ func (n *Node) UpdateEligibility(args *structs.NodeUpdateEligibilityRequest, if node.SchedulingEligibility == args.Eligibility { return nil // Nothing to do } else if args.Eligibility == structs.NodeSchedulingEligible { + n.logger.Info("node transitioning to eligible state", "node_id", node.ID) args.NodeEvent.SetMessage(NodeEligibilityEventEligible) } else { + n.logger.Info("node transitioning to ineligible state", "node_id", node.ID) args.NodeEvent.SetMessage(NodeEligibilityEventIneligible) }