From ecd10442000571e23855e81c1daf7ad61717f560 Mon Sep 17 00:00:00 2001 From: Random-Liu Date: Mon, 31 Oct 2016 14:10:42 -0700 Subject: [PATCH] Handle empty container name in dockershim. --- pkg/kubelet/dockershim/convert.go | 6 ++++++ pkg/kubelet/dockershim/docker_container.go | 2 +- pkg/kubelet/dockershim/docker_sandbox.go | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/dockershim/convert.go b/pkg/kubelet/dockershim/convert.go index 09872982953..07da31b3fba 100644 --- a/pkg/kubelet/dockershim/convert.go +++ b/pkg/kubelet/dockershim/convert.go @@ -77,6 +77,9 @@ func toPullableImageID(id string, image *dockertypes.ImageInspect) string { func toRuntimeAPIContainer(c *dockertypes.Container) (*runtimeApi.Container, error) { state := toRuntimeAPIContainerState(c.Status) + if len(c.Names) == 0 { + return nil, fmt.Errorf("unexpected empty container name: %+v", c) + } metadata, err := parseContainerName(c.Names[0]) if err != nil { return nil, err @@ -141,6 +144,9 @@ func toRuntimeAPISandboxState(state string) runtimeApi.PodSandBoxState { func toRuntimeAPISandbox(c *dockertypes.Container) (*runtimeApi.PodSandbox, error) { state := toRuntimeAPISandboxState(c.Status) + if len(c.Names) == 0 { + return nil, fmt.Errorf("unexpected empty sandbox name: %+v", c) + } metadata, err := parseSandboxName(c.Names[0]) if err != nil { return nil, err diff --git a/pkg/kubelet/dockershim/docker_container.go b/pkg/kubelet/dockershim/docker_container.go index 74d3abf4a12..57761679a65 100644 --- a/pkg/kubelet/dockershim/docker_container.go +++ b/pkg/kubelet/dockershim/docker_container.go @@ -69,7 +69,7 @@ func (ds *dockerService) ListContainers(filter *runtimeApi.ContainerFilter) ([]* converted, err := toRuntimeAPIContainer(&c) if err != nil { - glog.V(5).Infof("Unable to convert docker to runtime API container: %v", err) + glog.V(4).Infof("Unable to convert docker to runtime API container: %v", err) continue } diff --git a/pkg/kubelet/dockershim/docker_sandbox.go b/pkg/kubelet/dockershim/docker_sandbox.go index 14860b10043..54e5bdc3d0d 100644 --- a/pkg/kubelet/dockershim/docker_sandbox.go +++ b/pkg/kubelet/dockershim/docker_sandbox.go @@ -191,7 +191,7 @@ func (ds *dockerService) ListPodSandbox(filter *runtimeApi.PodSandboxFilter) ([] c := containers[i] converted, err := toRuntimeAPISandbox(&c) if err != nil { - glog.V(5).Infof("Unable to convert docker to runtime API sandbox: %v", err) + glog.V(4).Infof("Unable to convert docker to runtime API sandbox: %v", err) continue } if filterOutReadySandboxes && converted.GetState() == runtimeApi.PodSandBoxState_READY {