sandbox: Reduce number of calls to UpdateStatus
Also, we distinguish between container and a pod infra container in the exit monitor as pod infra containers aren't stored in the main container index. Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
This commit is contained in:
parent
ea4b6fa55d
commit
ce17c5214d
6 changed files with 14 additions and 27 deletions
|
@ -313,15 +313,28 @@ func (s *Server) StartExitMonitor() {
|
|||
logrus.Debugf("event: %v", event)
|
||||
if event.Op&fsnotify.Create == fsnotify.Create {
|
||||
containerID := filepath.Base(event.Name)
|
||||
logrus.Debugf("container exited: %v", containerID)
|
||||
logrus.Debugf("container or sandbox exited: %v", containerID)
|
||||
c := s.GetContainer(containerID)
|
||||
if c != nil {
|
||||
logrus.Debugf("container exited and found: %v", containerID)
|
||||
err := s.Runtime().UpdateStatus(c)
|
||||
if err != nil {
|
||||
logrus.Warnf("Failed to update container status %s: %v", c, err)
|
||||
} else {
|
||||
s.ContainerStateToDisk(c)
|
||||
}
|
||||
} else {
|
||||
sb := s.GetSandbox(containerID)
|
||||
if sb != nil {
|
||||
c := sb.InfraContainer()
|
||||
logrus.Debugf("sandbox exited and found: %v", containerID)
|
||||
err := s.Runtime().UpdateStatus(c)
|
||||
if err != nil {
|
||||
logrus.Warnf("Failed to update sandbox infra container status %s: %v", c, err)
|
||||
} else {
|
||||
s.ContainerStateToDisk(c)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
case err := <-watcher.Errors:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue