diff --git a/test/e2e/scheduling/predicates.go b/test/e2e/scheduling/predicates.go index 954e9e1666c..8689f71ff61 100644 --- a/test/e2e/scheduling/predicates.go +++ b/test/e2e/scheduling/predicates.go @@ -836,11 +836,15 @@ func initPausePod(f *framework.Framework, conf pausePodConfig) *v1.Pod { }, }, Tolerations: conf.Tolerations, - NodeName: conf.NodeName, PriorityClassName: conf.PriorityClassName, TerminationGracePeriodSeconds: &gracePeriod, }, } + // TODO: setting the Pod's nodeAffinity instead of setting .spec.nodeName works around the + // Preemption e2e flake (#88441), but we should investigate deeper to get to the bottom of it. + if len(conf.NodeName) != 0 { + e2epod.SetNodeAffinity(&pod.Spec, conf.NodeName) + } if conf.Resources != nil { pod.Spec.Containers[0].Resources = *conf.Resources } diff --git a/test/e2e/scheduling/preemption.go b/test/e2e/scheduling/preemption.go index 4959caeb1f5..ba898f625b3 100644 --- a/test/e2e/scheduling/preemption.go +++ b/test/e2e/scheduling/preemption.go @@ -214,14 +214,14 @@ var _ = SIGDescribe("SchedulerPreemption [Serial]", func() { if len(pods) == 0 { priorityName = lowPriorityClassName } - pods[i] = createPausePod(f, pausePodConfig{ + pods = append(pods, createPausePod(f, pausePodConfig{ Name: fmt.Sprintf("pod%d-%v", i, priorityName), PriorityClassName: priorityName, Resources: &v1.ResourceRequirements{ Requests: podRes, }, NodeName: node.Name, - }) + })) framework.Logf("Created pod: %v", pods[i].Name) } if len(pods) < 2 {