From fd6105d0151dad8dd5ef2770a235b969df3e1659 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 6 Mar 2023 18:47:02 -0500 Subject: [PATCH] fix last minute scheduler changes for inplace update --- pkg/scheduler/framework/types_test.go | 30 ++++++++++++++------------- test/e2e/node/pod_resize.go | 10 ++++++--- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/pkg/scheduler/framework/types_test.go b/pkg/scheduler/framework/types_test.go index 0c1160285e4..acf4349feeb 100644 --- a/pkg/scheduler/framework/types_test.go +++ b/pkg/scheduler/framework/types_test.go @@ -1542,20 +1542,22 @@ func TestCalculatePodResourcesWithResize(t *testing.T) { } for _, tt := range tests { - pod := testpod.DeepCopy() - pod.Spec.Containers[0].Resources.Requests = tt.requests - pod.Status.ContainerStatuses[0].ResourcesAllocated = tt.resourcesAllocated - pod.Status.Resize = tt.resizeStatus + t.Run(tt.name, func(t *testing.T) { + pod := testpod.DeepCopy() + pod.Spec.Containers[0].Resources.Requests = tt.requests + pod.Status.ContainerStatuses[0].ResourcesAllocated = tt.resourcesAllocated + pod.Status.Resize = tt.resizeStatus - res, non0CPU, non0Mem := calculateResource(pod) - if !reflect.DeepEqual(tt.expectedResource, res) { - t.Errorf("Test: %s expected resource: %+v, got: %+v", tt.name, tt.expectedResource, res) - } - if non0CPU != tt.expectedNon0CPU { - t.Errorf("Test: %s expected non0CPU: %d, got: %d", tt.name, tt.expectedNon0CPU, non0CPU) - } - if non0Mem != tt.expectedNon0Mem { - t.Errorf("Test: %s expected non0Mem: %d, got: %d", tt.name, tt.expectedNon0Mem, non0Mem) - } + res, non0CPU, non0Mem := calculateResource(pod) + if !reflect.DeepEqual(tt.expectedResource, res) { + t.Errorf("Test: %s expected resource: %+v, got: %+v", tt.name, tt.expectedResource, res) + } + if non0CPU != tt.expectedNon0CPU { + t.Errorf("Test: %s expected non0CPU: %d, got: %d", tt.name, tt.expectedNon0CPU, non0CPU) + } + if non0Mem != tt.expectedNon0Mem { + t.Errorf("Test: %s expected non0Mem: %d, got: %d", tt.name, tt.expectedNon0Mem, non0Mem) + } + }) } } diff --git a/test/e2e/node/pod_resize.go b/test/e2e/node/pod_resize.go index 9064f332b58..f677fd041d9 100644 --- a/test/e2e/node/pod_resize.go +++ b/test/e2e/node/pod_resize.go @@ -1487,8 +1487,12 @@ func doPodResizeSchedulerTests() { nodeAllocatableMilliCPU := n.Status.Allocatable.Cpu().MilliValue() gomega.Expect(n.Status.Allocatable != nil) podAllocatedMilliCPU := int64(0) - listOptions := metav1.ListOptions{FieldSelector: "spec.nodeName=" + n.Name} + + // Exclude pods that are in the Succeeded or Failed states + selector := fmt.Sprintf("spec.nodeName=%s,status.phase!=%v,status.phase!=%v", n.Name, v1.PodSucceeded, v1.PodFailed) + listOptions := metav1.ListOptions{FieldSelector: selector} podList, err := f.ClientSet.CoreV1().Pods(metav1.NamespaceAll).List(context.TODO(), listOptions) + framework.ExpectNoError(err, "failed to get running pods") framework.Logf("Found %d pods on node '%s'", len(podList.Items), n.Name) for _, pod := range podList.Items { @@ -1560,7 +1564,7 @@ func doPodResizeSchedulerTests() { framework.ExpectEqual(testPod2.Status.Phase, v1.PodPending) ginkgo.By(fmt.Sprintf("TEST1: Resize pod '%s' to fit in node '%s'", testPod2.Name, node.Name)) - testPod2, pErr := f.ClientSet.CoreV1().Pods(testPod2.Namespace).Patch(context.TODO(), + testPod2, pErr := f.ClientSet.CoreV1().Pods(testPod2.Namespace).Patch(ctx, testPod2.Name, types.StrategicMergePatchType, []byte(patchTestpod2ToFitNode), metav1.PatchOptions{}) framework.ExpectNoError(pErr, "failed to patch pod for resize") @@ -1629,7 +1633,7 @@ func doPodResizeSchedulerTests() { }) } -var _ = SIGDescribe("[Serial] Pod InPlace Resize Container (scheduler-focussed) [Feature:InPlacePodVerticalScaling]", func() { +var _ = SIGDescribe("[Serial] Pod InPlace Resize Container (scheduler-focused) [Feature:InPlacePodVerticalScaling]", func() { doPodResizeSchedulerTests() })