From e5d8ee381126dc623c30c2283d0b52f9097a7717 Mon Sep 17 00:00:00 2001 From: jhadvig Date: Thu, 25 Sep 2014 01:51:54 +0200 Subject: [PATCH] Handle invalid pod name --- pkg/kubelet/kubelet.go | 10 +++++++--- pkg/kubelet/server_test.go | 1 - 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 012531fd18c..0182c4abcac 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -748,15 +748,19 @@ func (kl *Kubelet) statsFromContainerPath(containerPath string, req *info.Contai } // GetKubeletContainerLogs returns logs from the container +// The second parameter of GetPodInfo and FindPodContainer methods represents pod UUID, which is allowed to be blank func (kl *Kubelet) GetKubeletContainerLogs(podFullName, containerName, tail string, follow bool, stdout, stderr io.Writer) error { + _, err := kl.GetPodInfo(podFullName, "") + if err == dockertools.ErrNoContainersInPod { + return fmt.Errorf("Pod not found (%s)\n", podFullName) + } dockerContainers, err := dockertools.GetKubeletDockerContainers(kl.dockerClient) if err != nil { return err } - var uuid string - dockerContainer, found, _ := dockerContainers.FindPodContainer(podFullName, uuid, containerName) + dockerContainer, found, _ := dockerContainers.FindPodContainer(podFullName, "", containerName) if !found { - return fmt.Errorf("container not found (%s)\n", containerName) + return fmt.Errorf("Container not found (%s)\n", containerName) } return dockertools.GetKubeletDockerContainerLogs(kl.dockerClient, dockerContainer.ID, tail, follow, stdout, stderr) } diff --git a/pkg/kubelet/server_test.go b/pkg/kubelet/server_test.go index 3b7f8417a77..6dcc896a700 100644 --- a/pkg/kubelet/server_test.go +++ b/pkg/kubelet/server_test.go @@ -362,7 +362,6 @@ func TestContainerLogs(t *testing.T) { expectedContainerName := "baz" expectedTail := "" expectedFollow := false - // expected := api.Container{"goodpod": docker.Container{ID: "myContainerID"}} fw.fakeKubelet.containerLogsFunc = func(podFullName, containerName, tail string, follow bool, stdout, stderr io.Writer) error { if podFullName != expectedPodName { t.Errorf("expected %s, got %s", expectedPodName, podFullName)