Expose image list in node status

Change image manager to use repotag
This commit is contained in:
harry zhang
2015-12-02 16:53:56 +08:00
committed by harry
parent 66d3cbf889
commit 27ca7dc71e
11 changed files with 134 additions and 19 deletions

View File

@@ -27,6 +27,7 @@ import (
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/kubelet/cadvisor"
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
"k8s.io/kubernetes/pkg/util"
"k8s.io/kubernetes/pkg/util/sets"
)
@@ -42,6 +43,8 @@ type imageManager interface {
// Start async garbage collection of images.
Start() error
GetImageList() ([]kubecontainer.Image, error)
// TODO(vmarmol): Have this subsume pulls as well.
}
@@ -135,6 +138,15 @@ func (im *realImageManager) Start() error {
return nil
}
// Get a list of images on this node
func (im *realImageManager) GetImageList() ([]kubecontainer.Image, error) {
images, err := im.runtime.ListImages()
if err != nil {
return nil, err
}
return images, nil
}
func (im *realImageManager) detectImages(detected time.Time) error {
images, err := im.runtime.ListImages()
if err != nil {
@@ -298,7 +310,7 @@ func isImageUsed(image container.Image, imagesInUse sets.String) bool {
if _, ok := imagesInUse[image.ID]; ok {
return true
}
for _, tag := range image.Tags {
for _, tag := range image.RepoTags {
if _, ok := imagesInUse[tag]; ok {
return true
}