Merge pull request #7785 from vmarmol/fix-start

Start ImageManager housekeeping in Run().
This commit is contained in:
Yu-Ju Hong 2015-05-05 12:00:00 -07:00
commit 08d25c3ed4
2 changed files with 10 additions and 6 deletions

View File

@ -39,6 +39,9 @@ type imageManager interface {
// enough space as per the garbage collection policy.
GarbageCollect() error
// Start async garbage collection of images.
Start() error
// TODO(vmarmol): Have this subsume pulls as well.
}
@ -104,15 +107,10 @@ func newImageManager(dockerClient dockertools.DockerInterface, cadvisorInterface
nodeRef: nodeRef,
}
err := im.start()
if err != nil {
return nil, fmt.Errorf("failed to start image manager: %v", err)
}
return im, nil
}
func (im *realImageManager) start() error {
func (im *realImageManager) Start() error {
// Initial detection make detected time "unknown" in the past.
var zero time.Time
err := im.detectImages(zero)

View File

@ -600,6 +600,12 @@ func (kl *Kubelet) Run(updates <-chan PodUpdate) {
glog.Infof("Running in container %q", kl.resourceContainer)
}
err := kl.imageManager.Start()
if err != nil {
kl.recorder.Eventf(kl.nodeRef, "imageManagerFailed", "Failed to start ImageManager %v", err)
glog.Errorf("Failed to start ImageManager, images may not be garbage collected: %v", err)
}
go kl.syncNodeStatus()
// Run the system oom watcher forever.
go util.Until(kl.runOOMWatcher, time.Second, util.NeverStop)