From cac38615acfb88b8e2d5bec9b74d80535a55baa9 Mon Sep 17 00:00:00 2001 From: Pengfei Ni Date: Thu, 29 Dec 2016 15:22:38 +0800 Subject: [PATCH] kubecontainer: add image ref to ImageService interfaces --- pkg/kubelet/container/runtime.go | 6 +++--- pkg/kubelet/container/testing/fake_runtime.go | 10 +++++----- pkg/kubelet/container/testing/runtime_mock.go | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pkg/kubelet/container/runtime.go b/pkg/kubelet/container/runtime.go index 85dc81f15ff..e6d15813300 100644 --- a/pkg/kubelet/container/runtime.go +++ b/pkg/kubelet/container/runtime.go @@ -146,10 +146,10 @@ type IndirectStreamingRuntime interface { type ImageService interface { // PullImage pulls an image from the network to local storage using the supplied - // secrets if necessary. - PullImage(image ImageSpec, pullSecrets []v1.Secret) error + // secrets if necessary. It returns a reference (digest or ID) to the pulled image. + PullImage(image ImageSpec, pullSecrets []v1.Secret) (string, error) // IsImagePresent checks whether the container image is already in the local storage. - IsImagePresent(image ImageSpec) (bool, error) + IsImagePresent(image ImageSpec) (string, error) // Gets all images currently on the machine. ListImages() ([]Image, error) // Removes the specified image. diff --git a/pkg/kubelet/container/testing/fake_runtime.go b/pkg/kubelet/container/testing/fake_runtime.go index 87fff6be757..f931b360daf 100644 --- a/pkg/kubelet/container/testing/fake_runtime.go +++ b/pkg/kubelet/container/testing/fake_runtime.go @@ -348,25 +348,25 @@ func (f *FakeRuntime) GetContainerLogs(pod *v1.Pod, containerID ContainerID, log return f.Err } -func (f *FakeRuntime) PullImage(image ImageSpec, pullSecrets []v1.Secret) error { +func (f *FakeRuntime) PullImage(image ImageSpec, pullSecrets []v1.Secret) (string, error) { f.Lock() defer f.Unlock() f.CalledFunctions = append(f.CalledFunctions, "PullImage") - return f.Err + return image.Image, f.Err } -func (f *FakeRuntime) IsImagePresent(image ImageSpec) (bool, error) { +func (f *FakeRuntime) IsImagePresent(image ImageSpec) (string, error) { f.Lock() defer f.Unlock() f.CalledFunctions = append(f.CalledFunctions, "IsImagePresent") for _, i := range f.ImageList { if i.ID == image.Image { - return true, nil + return i.ID, nil } } - return false, f.InspectErr + return "", f.InspectErr } func (f *FakeRuntime) ListImages() ([]Image, error) { diff --git a/pkg/kubelet/container/testing/runtime_mock.go b/pkg/kubelet/container/testing/runtime_mock.go index 6fb4acea64c..b98c23be911 100644 --- a/pkg/kubelet/container/testing/runtime_mock.go +++ b/pkg/kubelet/container/testing/runtime_mock.go @@ -105,14 +105,14 @@ func (r *Mock) GetContainerLogs(pod *v1.Pod, containerID ContainerID, logOptions return args.Error(0) } -func (r *Mock) PullImage(image ImageSpec, pullSecrets []v1.Secret) error { +func (r *Mock) PullImage(image ImageSpec, pullSecrets []v1.Secret) (string, error) { args := r.Called(image, pullSecrets) - return args.Error(0) + return image.Image, args.Error(0) } -func (r *Mock) IsImagePresent(image ImageSpec) (bool, error) { +func (r *Mock) IsImagePresent(image ImageSpec) (string, error) { args := r.Called(image) - return args.Get(0).(bool), args.Error(1) + return args.Get(0).(string), args.Error(1) } func (r *Mock) ListImages() ([]Image, error) {