Skip to content

Commit

Permalink
Ignore init restarts if they finished to init
Browse files Browse the repository at this point in the history
  • Loading branch information
ReallyLiri committed Nov 3, 2021
1 parent 1b68b90 commit 09f1987
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 5 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ TBD

```
NAME:
kubescout - 0.1.8 - Scout for alarming issues in your Kubernetes cluster
kubescout - 0.1.10 - Scout for alarming issues in your Kubernetes cluster
USAGE:
kubescout [optional flags]
Expand Down
2 changes: 1 addition & 1 deletion diag/pods_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ func TestPodState_ExcessiveRestartsForInitContainers(t *testing.T) {
messages := state.cleanMessages()
require.NotEmpty(t, messages)
require.Equal(t, 1, len(messages))
require.Equal(t, "Container run-migrations (init) restarted 5 times", messages[0])
require.Equal(t, "2 containers are still initializing [ api, queue-consumer ] (since 1 hour ago)", messages[0])

pendingPod := pods[1]
state, err = testContext(now).podState(&pendingPod)
Expand Down
10 changes: 8 additions & 2 deletions diag/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,13 @@ func (state *entityState) checkContainerStatuses(pod *v1.Pod, context *diagConte
}
}

func (state *entityState) checkContainerStatus(pod *v1.Pod, containerStatus v1.ContainerStatus, subTitle string, context *diagContext) (runProblems bool, waitingToCreate bool, waitingToInitialize bool) {
func (state *entityState) checkContainerStatus(
pod *v1.Pod,
containerStatus v1.ContainerStatus,
subTitle string,
context *diagContext,
) (runProblems bool, waitingToCreate bool, waitingToInitialize bool) {
isInitContainer := subTitle != ""
shouldCollectLogs := false
title := fmt.Sprintf("Container %v%v", containerStatus.Name, subTitle)
stateTerminated := containerStatus.State.Terminated
Expand Down Expand Up @@ -153,7 +159,7 @@ func (state *entityState) checkContainerStatus(pod *v1.Pod, containerStatus v1.C
}
}

if containerStatus.RestartCount > context.config.PodRestartGraceCount {
if (!isInitContainer || runProblems) && containerStatus.RestartCount > context.config.PodRestartGraceCount {
runProblems = true
stateTerminated = containerStatus.LastTerminationState.Terminated
prefix := title
Expand Down
2 changes: 1 addition & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"os"
)

const VERSION = "0.1.9"
const VERSION = "0.1.10"

func main() {

Expand Down

0 comments on commit 09f1987

Please sign in to comment.