From 1226c5794af6e610a31fe0e520e13b329ca8ec21 Mon Sep 17 00:00:00 2001 From: Random-Liu Date: Fri, 10 Feb 2017 16:24:02 -0800 Subject: [PATCH] Print running containers in infra container oom score test. --- test/e2e_node/container_manager_test.go | 91 ++++++++++++++----------- 1 file changed, 51 insertions(+), 40 deletions(-) diff --git a/test/e2e_node/container_manager_test.go b/test/e2e_node/container_manager_test.go index b7964d70e53..f723af6d1c4 100644 --- a/test/e2e_node/container_manager_test.go +++ b/test/e2e_node/container_manager_test.go @@ -92,50 +92,61 @@ var _ = framework.KubeDescribe("Kubelet Container Manager [Serial]", func() { return validateOOMScoreAdjSetting(kubeletPids[0], -999) }, 5*time.Minute, 30*time.Second).Should(BeNil()) }) - It("pod infra containers oom-score-adj should be -998 and best effort container's should be 1000", func() { - var err error - podClient := f.PodClient() - podName := "besteffort" + string(uuid.NewUUID()) - podClient.Create(&v1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Name: podName, - }, - Spec: v1.PodSpec{ - Containers: []v1.Container{ - { - Image: "gcr.io/google_containers/serve_hostname:v1.4", - Name: podName, + Context("", func() { + It("pod infra containers oom-score-adj should be -998 and best effort container's should be 1000", func() { + var err error + podClient := f.PodClient() + podName := "besteffort" + string(uuid.NewUUID()) + podClient.Create(&v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: podName, + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{ + { + Image: "gcr.io/google_containers/serve_hostname:v1.4", + Name: podName, + }, }, }, - }, - }) - var pausePids []int - By("checking infra container's oom-score-adj") - Eventually(func() error { - pausePids, err = getPidsForProcess("pause", "") - if err != nil { - return fmt.Errorf("failed to get list of pause pids: %v", err) - } - for _, pid := range pausePids { - if err := validateOOMScoreAdjSetting(pid, -998); err != nil { - return err + }) + var pausePids []int + By("checking infra container's oom-score-adj") + Eventually(func() error { + pausePids, err = getPidsForProcess("pause", "") + if err != nil { + return fmt.Errorf("failed to get list of pause pids: %v", err) } + for _, pid := range pausePids { + if err := validateOOMScoreAdjSetting(pid, -998); err != nil { + return err + } + } + return nil + }, 2*time.Minute, time.Second*4).Should(BeNil()) + var shPids []int + By("checking besteffort container's oom-score-adj") + Eventually(func() error { + shPids, err = getPidsForProcess("serve_hostname", "") + if err != nil { + return fmt.Errorf("failed to get list of serve hostname process pids: %v", err) + } + if len(shPids) != 1 { + return fmt.Errorf("expected only one serve_hostname process; found %d", len(shPids)) + } + return validateOOMScoreAdjSetting(shPids[0], 1000) + }, 2*time.Minute, time.Second*4).Should(BeNil()) + }) + // Log the running containers here to help debugging. Use `docker ps` + // directly for now because the test is already docker specific. + AfterEach(func() { + if CurrentGinkgoTestDescription().Failed { + By("Dump all running docker containers") + output, err := exec.Command("docker", "ps").CombinedOutput() + Expect(err).NotTo(HaveOccurred()) + framework.Logf("Running docker containers:\n%s", string(output)) } - return nil - }, 2*time.Minute, time.Second*4).Should(BeNil()) - var shPids []int - By("checking besteffort container's oom-score-adj") - Eventually(func() error { - shPids, err = getPidsForProcess("serve_hostname", "") - if err != nil { - return fmt.Errorf("failed to get list of serve hostname process pids: %v", err) - } - if len(shPids) != 1 { - return fmt.Errorf("expected only one serve_hostname process; found %d", len(shPids)) - } - return validateOOMScoreAdjSetting(shPids[0], 1000) - }, 2*time.Minute, time.Second*4).Should(BeNil()) - + }) }) It("guaranteed container's oom-score-adj should be -998", func() { podClient := f.PodClient()