Skip to content

Commit 12bde5b

Browse files
committed
ignore events for nodes that are not belonging to the cluster
1 parent 57dcfe7 commit 12bde5b

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

cmd/node-termination-handler.go

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
"github.com/aws/aws-sdk-go/service/sqs"
3838
"github.com/rs/zerolog"
3939
"github.com/rs/zerolog/log"
40+
"k8s.io/apimachinery/pkg/api/errors"
4041
"k8s.io/apimachinery/pkg/util/wait"
4142
)
4243

@@ -267,23 +268,33 @@ func drainOrCordonIfNecessary(interruptionEventStore *interruptioneventstore.Sto
267268
if nthConfig.CordonOnly || drainEvent.IsRebalanceRecommendation() {
268269
err := node.Cordon(nodeName)
269270
if err != nil {
270-
log.Log().Err(err).Msg("There was a problem while trying to cordon the node")
271-
os.Exit(1)
272-
}
273-
log.Log().Str("node_name", nodeName).Msg("Node successfully cordoned")
274-
err = node.LogPods(nodeName)
275-
if err != nil {
276-
log.Log().Err(err).Msg("There was a problem while trying to log all pod names on the node")
271+
if errors.IsNotFound(err) {
272+
log.Warn().Err(err).Msgf("node '%s' not found in the cluster", nodeName)
273+
} else {
274+
log.Log().Err(err).Msg("There was a problem while trying to cordon the node")
275+
os.Exit(1)
276+
}
277+
} else {
278+
log.Log().Str("node_name", nodeName).Msg("Node successfully cordoned")
279+
err = node.LogPods(nodeName)
280+
if err != nil {
281+
log.Log().Err(err).Msg("There was a problem while trying to log all pod names on the node")
282+
}
283+
metrics.NodeActionsInc("cordon", nodeName, err)
277284
}
278-
metrics.NodeActionsInc("cordon", nodeName, err)
279285
} else {
280286
err := node.CordonAndDrain(nodeName)
281287
if err != nil {
282-
log.Log().Err(err).Msg("There was a problem while trying to cordon and drain the node")
283-
os.Exit(1)
288+
if errors.IsNotFound(err) {
289+
log.Warn().Err(err).Msgf("node '%s' not found in the cluster", nodeName)
290+
} else {
291+
log.Log().Err(err).Msg("There was a problem while trying to cordon and drain the node")
292+
os.Exit(1)
293+
}
294+
} else {
295+
log.Log().Str("node_name", nodeName).Msg("Node successfully cordoned and drained")
296+
metrics.NodeActionsInc("cordon-and-drain", nodeName, err)
284297
}
285-
log.Log().Str("node_name", nodeName).Msg("Node successfully cordoned and drained")
286-
metrics.NodeActionsInc("cordon-and-drain", nodeName, err)
287298
}
288299

289300
interruptionEventStore.MarkAllAsDrained(nodeName)

0 commit comments

Comments
 (0)