From 732464f7f399e856ade726f9f3302bec52039cb9 Mon Sep 17 00:00:00 2001 From: Stephen Schlie Date: Fri, 30 Apr 2021 12:07:28 -0700 Subject: [PATCH 1/3] don't exit(1) in queue processor mode --- cmd/node-termination-handler.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cmd/node-termination-handler.go b/cmd/node-termination-handler.go index 5096e779..8c6f72d4 100644 --- a/cmd/node-termination-handler.go +++ b/cmd/node-termination-handler.go @@ -302,7 +302,7 @@ func drainOrCordonIfNecessary(interruptionEventStore *interruptioneventstore.Sto if nthConfig.CordonOnly || (drainEvent.IsRebalanceRecommendation() && !nthConfig.EnableRebalanceDraining) { cordonNode(node, nodeName, drainEvent, metrics, recorder) } else { - cordonAndDrainNode(node, nodeName, metrics, recorder) + cordonAndDrainNode(node, nodeName, metrics, recorder, nthConfig.EnableSQSTerminationDraining) } interruptionEventStore.MarkAllAsProcessed(nodeName) @@ -352,7 +352,7 @@ func cordonNode(node node.Node, nodeName string, drainEvent *monitor.Interruptio } } -func cordonAndDrainNode(node node.Node, nodeName string, metrics observability.Metrics, recorder observability.K8sEventRecorder) { +func cordonAndDrainNode(node node.Node, nodeName string, metrics observability.Metrics, recorder observability.K8sEventRecorder, sqsTerminationDraining bool) { err := node.CordonAndDrain(nodeName) if err != nil { if errors.IsNotFound(err) { @@ -361,7 +361,9 @@ func cordonAndDrainNode(node node.Node, nodeName string, metrics observability.M log.Err(err).Msg("There was a problem while trying to cordon and drain the node") metrics.NodeActionsInc("cordon-and-drain", nodeName, err) recorder.Emit(nodeName, observability.Warning, observability.CordonAndDrainErrReason, observability.CordonAndDrainErrMsgFmt, err.Error()) - os.Exit(1) + if !sqsTerminationDraining { + os.Exit(1) + } } } else { log.Info().Str("node_name", nodeName).Msg("Node successfully cordoned and drained") From eeb4eaaff6b79541699bb51758922697349e1124 Mon Sep 17 00:00:00 2001 From: Stephen Schlie Date: Fri, 7 May 2021 09:02:42 -0700 Subject: [PATCH 2/3] fixing up goreportcard test --- test/go-report-card-test/run-report-card-test.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/go-report-card-test/run-report-card-test.sh b/test/go-report-card-test/run-report-card-test.sh index cd8005d9..4f3c08ce 100755 --- a/test/go-report-card-test/run-report-card-test.sh +++ b/test/go-report-card-test/run-report-card-test.sh @@ -12,18 +12,18 @@ function fail() { trap fail ERR docker build --build-arg=GOPROXY=direct -t go-report-card-cli $SCRIPTPATH -if [[ $(docker run -it -v $SCRIPTPATH/../../:/app go-report-card-cli /go/bin/goimports -l /app/) ]]; then +if [[ ! $(docker run -it -v $SCRIPTPATH/../..:/app go-report-card-cli /go/bin/goimports -l /app) ]]; then echo "❌ goimports found a problem in go source files. See above for the files with problems." EXIT_CODE=2 else echo "✅ goimports found no formatting errors in go source files" fi -if grep -r -i -e 'cancelled' --exclude-dir={build,"$(basename $SCRIPTPATH)"} $SCRIPTPATH/../../* ; then +if grep -r -i -e 'cancelled' --exclude-dir={build,vendor,"$(basename $SCRIPTPATH)"} $SCRIPTPATH/../../* ; then echo "❌ Found a misspelling of 'canceled'!" EXIT_CODE=3 fi -docker run -t -v $SCRIPTPATH/../../:/app go-report-card-cli /go/bin/goreportcard-cli -v -t $THRESHOLD +docker run -t -v $SCRIPTPATH/../../:/app go-report-card-cli /go/bin/goreportcard-cli -v -t $THRESHOLD -d /app exit $EXIT_CODE \ No newline at end of file From eaf26cee8ac724b10a050e1a05b857e20ff8d185 Mon Sep 17 00:00:00 2001 From: Stephen Schlie Date: Fri, 7 May 2021 15:10:48 -0700 Subject: [PATCH 3/3] Rolling back go report card test changes --- test/go-report-card-test/run-report-card-test.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/go-report-card-test/run-report-card-test.sh b/test/go-report-card-test/run-report-card-test.sh index 4f3c08ce..cd8005d9 100755 --- a/test/go-report-card-test/run-report-card-test.sh +++ b/test/go-report-card-test/run-report-card-test.sh @@ -12,18 +12,18 @@ function fail() { trap fail ERR docker build --build-arg=GOPROXY=direct -t go-report-card-cli $SCRIPTPATH -if [[ ! $(docker run -it -v $SCRIPTPATH/../..:/app go-report-card-cli /go/bin/goimports -l /app) ]]; then +if [[ $(docker run -it -v $SCRIPTPATH/../../:/app go-report-card-cli /go/bin/goimports -l /app/) ]]; then echo "❌ goimports found a problem in go source files. See above for the files with problems." EXIT_CODE=2 else echo "✅ goimports found no formatting errors in go source files" fi -if grep -r -i -e 'cancelled' --exclude-dir={build,vendor,"$(basename $SCRIPTPATH)"} $SCRIPTPATH/../../* ; then +if grep -r -i -e 'cancelled' --exclude-dir={build,"$(basename $SCRIPTPATH)"} $SCRIPTPATH/../../* ; then echo "❌ Found a misspelling of 'canceled'!" EXIT_CODE=3 fi -docker run -t -v $SCRIPTPATH/../../:/app go-report-card-cli /go/bin/goreportcard-cli -v -t $THRESHOLD -d /app +docker run -t -v $SCRIPTPATH/../../:/app go-report-card-cli /go/bin/goreportcard-cli -v -t $THRESHOLD exit $EXIT_CODE \ No newline at end of file