Skip to content

Commit 85fd758

Browse files
imuqtadirbwagner5
andauthored
Provide node labels for webhook template (#382)
* Provide node labels for webhook template * Move node label to interruptionEvent struct * Fix indent * Update node-termination-handler.go Co-authored-by: Brandon Wagner <[email protected]>
1 parent a25165b commit 85fd758

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

cmd/node-termination-handler.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,11 @@ func watchForCancellationEvents(cancelChan <-chan monitor.InterruptionEvent, int
272272
func drainOrCordonIfNecessary(interruptionEventStore *interruptioneventstore.Store, drainEvent *monitor.InterruptionEvent, node node.Node, nthConfig config.Config, nodeMetadata ec2metadata.NodeMetadata, metrics observability.Metrics, wg *sync.WaitGroup) {
273273
defer wg.Done()
274274
nodeName := drainEvent.NodeName
275+
nodeLabels, err := node.GetNodeLabels(nodeName)
276+
if err != nil {
277+
log.Warn().Err(err).Msgf("Unable to fetch node labels for node '%s' ", nodeName)
278+
}
279+
drainEvent.NodeLabels = nodeLabels
275280
if drainEvent.PreDrainTask != nil {
276281
err := drainEvent.PreDrainTask(*drainEvent, node)
277282
if err != nil {

pkg/node/node.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,19 @@ func (n Node) removeLabel(nodeName string, key string) error {
278278
return nil
279279
}
280280

281+
// GetNodeLabels will fetch node labels for a given nodeName
282+
func (n Node) GetNodeLabels(nodeName string) (map[string]string, error) {
283+
if n.nthConfig.DryRun {
284+
log.Log().Str("node_name", nodeName).Msg("Node labels would have been fetched, but dry-run flag was set")
285+
return nil, nil
286+
}
287+
node, err := n.fetchKubernetesNode(nodeName)
288+
if err != nil {
289+
return nil, err
290+
}
291+
return node.Labels, nil
292+
}
293+
281294
// TaintSpotItn adds the spot termination notice taint onto a node
282295
func (n Node) TaintSpotItn(nodeName string, eventID string) error {
283296
if !n.nthConfig.TaintNode {

0 commit comments

Comments
 (0)