Set Container Status Reason when OOM Killed
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
This commit is contained in:
parent
52b27da680
commit
ea9a90abce
4 changed files with 14 additions and 4 deletions
|
@ -460,6 +460,7 @@ func ContainerStatus(client pb.RuntimeServiceClient, ID string) error {
|
|||
ftm := time.Unix(0, r.Status.FinishedAt)
|
||||
fmt.Printf("Finished: %v\n", ftm)
|
||||
fmt.Printf("Exit Code: %v\n", r.Status.ExitCode)
|
||||
fmt.Printf("Reason: %v\n", r.Status.Reason)
|
||||
if r.Status.Image != nil {
|
||||
fmt.Printf("Image: %v\n", r.Status.Image.Image)
|
||||
}
|
||||
|
|
|
@ -38,10 +38,11 @@ type Container struct {
|
|||
// ContainerState represents the status of a container.
|
||||
type ContainerState struct {
|
||||
specs.State
|
||||
Created time.Time `json:"created"`
|
||||
Started time.Time `json:"started,omitempty"`
|
||||
Finished time.Time `json:"finished,omitempty"`
|
||||
ExitCode int32 `json:"exitCode,omitempty"`
|
||||
Created time.Time `json:"created"`
|
||||
Started time.Time `json:"started,omitempty"`
|
||||
Finished time.Time `json:"finished,omitempty"`
|
||||
ExitCode int32 `json:"exitCode,omitempty"`
|
||||
OOMKilled bool `json:"oomKilled,omitempty"`
|
||||
}
|
||||
|
||||
// NewContainer creates a container object.
|
||||
|
|
|
@ -552,6 +552,11 @@ func (r *Runtime) UpdateStatus(c *Container) error {
|
|||
}
|
||||
c.state.ExitCode = int32(statusCode)
|
||||
}
|
||||
|
||||
oomFilePath := filepath.Join(c.bundlePath, "oom")
|
||||
if _, err = os.Stat(oomFilePath); err == nil {
|
||||
c.state.OOMKilled = true
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -98,6 +98,9 @@ func (s *Server) ContainerStatus(ctx context.Context, req *pb.ContainerStatusReq
|
|||
finished := cState.Finished.UnixNano()
|
||||
resp.Status.FinishedAt = finished
|
||||
resp.Status.ExitCode = cState.ExitCode
|
||||
if cState.OOMKilled {
|
||||
resp.Status.Reason = "OOMKilled"
|
||||
}
|
||||
}
|
||||
|
||||
resp.Status.State = rStatus
|
||||
|
|
Loading…
Reference in a new issue