From cc7c862ce1a81dff8200165816ed7701fb088568 Mon Sep 17 00:00:00 2001 From: Aaron Crickenberger Date: Tue, 31 Mar 2020 20:00:07 -0700 Subject: [PATCH] e2e: use apiserver view of pods on node instead of kubelet Conformance tests must not rely on the kubelet API in order to pass. SchedulerPredicates tests attempt to use the kubelet API in their BeforeEach, some of which are tagged as Conformance. Is there a compelling reason to use the kubelet's view of pods for a given node instead of the apiserver's view of the pods? --- test/e2e/scheduling/BUILD | 1 - test/e2e/scheduling/predicates.go | 13 ++++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/test/e2e/scheduling/BUILD b/test/e2e/scheduling/BUILD index 16d03e657d6..6f4fc9ca720 100644 --- a/test/e2e/scheduling/BUILD +++ b/test/e2e/scheduling/BUILD @@ -43,7 +43,6 @@ go_library( "//test/e2e/framework:go_default_library", "//test/e2e/framework/gpu:go_default_library", "//test/e2e/framework/job:go_default_library", - "//test/e2e/framework/kubelet:go_default_library", "//test/e2e/framework/node:go_default_library", "//test/e2e/framework/pod:go_default_library", "//test/e2e/framework/providers/gce:go_default_library", diff --git a/test/e2e/scheduling/predicates.go b/test/e2e/scheduling/predicates.go index 2e11e22fafa..462646e177d 100644 --- a/test/e2e/scheduling/predicates.go +++ b/test/e2e/scheduling/predicates.go @@ -31,7 +31,6 @@ import ( clientset "k8s.io/client-go/kubernetes" podutil "k8s.io/kubernetes/pkg/api/v1/pod" "k8s.io/kubernetes/test/e2e/framework" - e2ekubelet "k8s.io/kubernetes/test/e2e/framework/kubelet" e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2erc "k8s.io/kubernetes/test/e2e/framework/rc" @@ -112,8 +111,8 @@ var _ = SIGDescribe("SchedulerPredicates [Serial]", func() { framework.ExpectNoError(err) for _, node := range nodeList.Items { - framework.Logf("\nLogging pods the kubelet thinks is on node %v before test", node.Name) - printAllKubeletPods(cs, node.Name) + framework.Logf("\nLogging pods the apiserver thinks is on node %v before test", node.Name) + printAllPodsOnNode(cs, node.Name) } }) @@ -796,11 +795,11 @@ var _ = SIGDescribe("SchedulerPredicates [Serial]", func() { }) }) -// printAllKubeletPods outputs status of all kubelet pods into log. -func printAllKubeletPods(c clientset.Interface, nodeName string) { - podList, err := e2ekubelet.GetKubeletPods(c, nodeName) +// printAllPodsOnNode outputs status of all kubelet pods into log. +func printAllPodsOnNode(c clientset.Interface, nodeName string) { + podList, err := c.CoreV1().Pods(metav1.NamespaceAll).List(context.TODO(), metav1.ListOptions{FieldSelector: "spec.nodeName=" + nodeName}) if err != nil { - framework.Logf("Unable to retrieve kubelet pods for node %v: %v", nodeName, err) + framework.Logf("Unable to retrieve pods for node %v: %v", nodeName, err) return } for _, p := range podList.Items {