From 7ecb44fe160c46410938fb85d5fff2c8450e0e3a Mon Sep 17 00:00:00 2001 From: Harry Zhang Date: Sun, 3 Apr 2016 11:40:22 -0400 Subject: [PATCH] Refactor list image to use new api --- pkg/kubelet/dockertools/convert.go | 4 ++-- pkg/kubelet/dockertools/convert_test.go | 2 +- pkg/kubelet/dockertools/docker.go | 2 +- pkg/kubelet/dockertools/fake_docker_client.go | 5 +++-- pkg/kubelet/dockertools/instrumented_docker.go | 2 +- pkg/kubelet/dockertools/kube_docker_client.go | 16 ++++++---------- pkg/kubelet/dockertools/manager.go | 2 +- pkg/kubelet/dockertools/manager_test.go | 2 +- 8 files changed, 16 insertions(+), 19 deletions(-) diff --git a/pkg/kubelet/dockertools/convert.go b/pkg/kubelet/dockertools/convert.go index 71c0c7551f8..3d769335b65 100644 --- a/pkg/kubelet/dockertools/convert.go +++ b/pkg/kubelet/dockertools/convert.go @@ -70,8 +70,8 @@ func toRuntimeContainer(c *dockertypes.Container) (*kubecontainer.Container, err }, nil } -// Converts docker.APIImages to kubecontainer.Image. -func toRuntimeImage(image *docker.APIImages) (*kubecontainer.Image, error) { +// Converts dockertypes.Image to kubecontainer.Image. +func toRuntimeImage(image *dockertypes.Image) (*kubecontainer.Image, error) { if image == nil { return nil, fmt.Errorf("unable to convert a nil pointer to a runtime image") } diff --git a/pkg/kubelet/dockertools/convert_test.go b/pkg/kubelet/dockertools/convert_test.go index a8265395f9c..6e1d183f784 100644 --- a/pkg/kubelet/dockertools/convert_test.go +++ b/pkg/kubelet/dockertools/convert_test.go @@ -70,7 +70,7 @@ func TestToRuntimeContainer(t *testing.T) { } func TestToRuntimeImage(t *testing.T) { - original := &docker.APIImages{ + original := &dockertypes.Image{ ID: "aeeea", RepoTags: []string{"abc", "def"}, VirtualSize: 1234, diff --git a/pkg/kubelet/dockertools/docker.go b/pkg/kubelet/dockertools/docker.go index 1cf2d91a5ac..825edb0f55d 100644 --- a/pkg/kubelet/dockertools/docker.go +++ b/pkg/kubelet/dockertools/docker.go @@ -65,7 +65,7 @@ type DockerInterface interface { StopContainer(id string, timeout int) error RemoveContainer(id string, opts dockertypes.ContainerRemoveOptions) error InspectImage(image string) (*docker.Image, error) - ListImages(opts docker.ListImagesOptions) ([]docker.APIImages, error) + ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error) PullImage(opts docker.PullImageOptions, auth docker.AuthConfiguration) error RemoveImage(image string) error Logs(string, dockertypes.ContainerLogsOptions, StreamOptions) error diff --git a/pkg/kubelet/dockertools/fake_docker_client.go b/pkg/kubelet/dockertools/fake_docker_client.go index 963ad9152ca..1350e1271b3 100644 --- a/pkg/kubelet/dockertools/fake_docker_client.go +++ b/pkg/kubelet/dockertools/fake_docker_client.go @@ -41,10 +41,11 @@ type FakeDockerClient struct { ExitedContainerList []dockertypes.Container ContainerMap map[string]*dockertypes.ContainerJSON Image *docker.Image - Images []docker.APIImages + Images []dockertypes.Image Errors map[string]error called []string pulled []string + // Created, Stopped and Removed all container docker ID Created []string Stopped []string @@ -473,7 +474,7 @@ func (f *FakeDockerClient) InspectExec(id string) (*dockertypes.ContainerExecIns return f.ExecInspect, f.popError("inspect_exec") } -func (f *FakeDockerClient) ListImages(opts docker.ListImagesOptions) ([]docker.APIImages, error) { +func (f *FakeDockerClient) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error) { err := f.popError("list_images") return f.Images, err } diff --git a/pkg/kubelet/dockertools/instrumented_docker.go b/pkg/kubelet/dockertools/instrumented_docker.go index e15b557ced0..1d033045b33 100644 --- a/pkg/kubelet/dockertools/instrumented_docker.go +++ b/pkg/kubelet/dockertools/instrumented_docker.go @@ -112,7 +112,7 @@ func (in instrumentedDockerInterface) InspectImage(image string) (*docker.Image, return out, err } -func (in instrumentedDockerInterface) ListImages(opts docker.ListImagesOptions) ([]docker.APIImages, error) { +func (in instrumentedDockerInterface) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error) { const operation = "list_images" defer recordOperation(operation, time.Now()) diff --git a/pkg/kubelet/dockertools/kube_docker_client.go b/pkg/kubelet/dockertools/kube_docker_client.go index a22d734078f..5b0bf4a0bc6 100644 --- a/pkg/kubelet/dockertools/kube_docker_client.go +++ b/pkg/kubelet/dockertools/kube_docker_client.go @@ -157,20 +157,16 @@ func (d *kubeDockerClient) InspectImage(image string) (*docker.Image, error) { return imageInfo, nil } -func (d *kubeDockerClient) ListImages(opts docker.ListImagesOptions) ([]docker.APIImages, error) { - resp, err := d.client.ImageList(getDefaultContext(), dockertypes.ImageListOptions{ - MatchName: opts.Filter, - All: opts.All, - Filters: convertFilters(opts.Filters), - }) +func (d *kubeDockerClient) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error) { + images, err := d.client.ImageList(getDefaultContext(), opts) if err != nil { return nil, err } - images := []docker.APIImages{} - if err = convertType(&resp, &images); err != nil { - return nil, err + dockerImages := []dockertypes.Image{} + for _, img := range images { + dockerImages = append(dockerImages, dockertypes.Image(img)) } - return images, nil + return dockerImages, nil } func base64EncodeAuth(auth docker.AuthConfiguration) (string, error) { diff --git a/pkg/kubelet/dockertools/manager.go b/pkg/kubelet/dockertools/manager.go index 3ddb958d269..7b98421afd2 100644 --- a/pkg/kubelet/dockertools/manager.go +++ b/pkg/kubelet/dockertools/manager.go @@ -793,7 +793,7 @@ func (dm *DockerManager) GetPods(all bool) ([]*kubecontainer.Pod, error) { func (dm *DockerManager) ListImages() ([]kubecontainer.Image, error) { var images []kubecontainer.Image - dockerImages, err := dm.client.ListImages(docker.ListImagesOptions{}) + dockerImages, err := dm.client.ListImages(dockertypes.ImageListOptions{}) if err != nil { return images, err } diff --git a/pkg/kubelet/dockertools/manager_test.go b/pkg/kubelet/dockertools/manager_test.go index c5041dccf46..5737ad5b119 100644 --- a/pkg/kubelet/dockertools/manager_test.go +++ b/pkg/kubelet/dockertools/manager_test.go @@ -359,7 +359,7 @@ func TestGetPods(t *testing.T) { func TestListImages(t *testing.T) { manager, fakeDocker := newTestDockerManager() - dockerImages := []docker.APIImages{{ID: "1111"}, {ID: "2222"}, {ID: "3333"}} + dockerImages := []dockertypes.Image{{ID: "1111"}, {ID: "2222"}, {ID: "3333"}} expected := sets.NewString([]string{"1111", "2222", "3333"}...) fakeDocker.Images = dockerImages