in pkg/csi_driver/utils.go [429:455]
func checkSidecarContainerErr(isInitContainer bool, pod *corev1.Pod) (codes.Code, error) {
code := codes.Internal
cs, err := getSidecarContainerStatus(isInitContainer, pod)
if err != nil {
return code, err
}
var reason string
var exitCode int32
if cs.RestartCount > 0 && cs.LastTerminationState.Terminated != nil {
reason = cs.LastTerminationState.Terminated.Reason
exitCode = cs.LastTerminationState.Terminated.ExitCode
} else if cs.State.Terminated != nil {
reason = cs.State.Terminated.Reason
exitCode = cs.State.Terminated.ExitCode
}
if exitCode != 0 {
if reason == "OOMKilled" || exitCode == 137 {
code = codes.ResourceExhausted
}
return code, fmt.Errorf("the sidecar container terminated due to %v, exit code: %v", reason, exitCode)
}
return codes.OK, nil
}