From 72575c2f238ce337ddc7e79627b11efeff4897d2 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:17:49 +0100 Subject: [PATCH 01/59] refactor(node_taint_test): add buildTestNode helper function --- .../node_taint_test.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 0a6abbe1a..ef914600d 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -34,6 +34,10 @@ import ( "sigs.k8s.io/descheduler/test" ) +func buildTestNode(name string, apply func(*v1.Node)) *v1.Node { + return test.BuildTestNode(name, 2000, 3000, 10, apply) +} + func createNoScheduleTaint(key, value string, index int) v1.Taint { return v1.Taint{ Key: "testTaint" + fmt.Sprintf("%v", index), @@ -70,23 +74,23 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node1 := test.BuildTestNode("n1", 2000, 3000, 10, nil) + node1 := buildTestNode("n1", nil) node1 = addTaintsToNode(node1, "testTaint", "test", []int{1}) - node2 := test.BuildTestNode("n2", 2000, 3000, 10, nil) + node2 := buildTestNode("n2", nil) node2 = addTaintsToNode(node2, "testingTaint", "testing", []int{1}) - node3 := test.BuildTestNode("n3", 2000, 3000, 10, func(node *v1.Node) { + node3 := buildTestNode("n3", func(node *v1.Node) { node.ObjectMeta.Labels = map[string]string{ "datacenter": "east", } }) - node4 := test.BuildTestNode("n4", 2000, 3000, 10, func(node *v1.Node) { + node4 := buildTestNode("n4", func(node *v1.Node) { node.Spec = v1.NodeSpec{ Unschedulable: true, } }) - node5 := test.BuildTestNode("n5", 2000, 3000, 10, nil) + node5 := buildTestNode("n5", nil) node5.Spec.Taints = []v1.Taint{ createPreferNoScheduleTaint("testTaint", "test", 1), } @@ -96,7 +100,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { createPreferNoScheduleTaint("testTaint", "test", 1), } - node7 := test.BuildTestNode("n7", 2000, 3000, 10, nil) + node7 := buildTestNode("n7", nil) node7 = addTaintsToNode(node7, "testTaint", "test", []int{1}) node7 = addTaintsToNode(node7, "testingTaint", "testing", []int{1}) From 3289554f901dc2e4bf0133493674be4b734f85ff Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:20:01 +0100 Subject: [PATCH 02/59] refactor(node_taint_test): add buildTestPod helper function --- .../node_taint_test.go | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index ef914600d..14e3d6684 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -38,6 +38,10 @@ func buildTestNode(name string, apply func(*v1.Node)) *v1.Node { return test.BuildTestNode(name, 2000, 3000, 10, apply) } +func buildTestPod(name, nodeName string, apply func(*v1.Pod)) *v1.Pod { + return test.BuildTestPod(name, 100, 0, nodeName, apply) +} + func createNoScheduleTaint(key, value string, index int) v1.Taint { return v1.Taint{ Key: "testTaint" + fmt.Sprintf("%v", index), @@ -104,18 +108,18 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { node7 = addTaintsToNode(node7, "testTaint", "test", []int{1}) node7 = addTaintsToNode(node7, "testingTaint", "testing", []int{1}) - p1 := test.BuildTestPod("p1", 100, 0, node1.Name, nil) - p2 := test.BuildTestPod("p2", 100, 0, node1.Name, nil) - p3 := test.BuildTestPod("p3", 100, 0, node1.Name, nil) - p4 := test.BuildTestPod("p4", 100, 0, node1.Name, nil) - p5 := test.BuildTestPod("p5", 100, 0, node1.Name, nil) - p6 := test.BuildTestPod("p6", 100, 0, node1.Name, nil) - p7 := test.BuildTestPod("p7", 100, 0, node2.Name, nil) - p8 := test.BuildTestPod("p8", 100, 0, node2.Name, nil) - p9 := test.BuildTestPod("p9", 100, 0, node2.Name, nil) - p10 := test.BuildTestPod("p10", 100, 0, node2.Name, nil) - p11 := test.BuildTestPod("p11", 100, 0, node2.Name, nil) - p12 := test.BuildTestPod("p11", 100, 0, node2.Name, nil) + p1 := buildTestPod("p1", node1.Name, nil) + p2 := buildTestPod("p2", node1.Name, nil) + p3 := buildTestPod("p3", node1.Name, nil) + p4 := buildTestPod("p4", node1.Name, nil) + p5 := buildTestPod("p5", node1.Name, nil) + p6 := buildTestPod("p6", node1.Name, nil) + p7 := buildTestPod("p7", node2.Name, nil) + p8 := buildTestPod("p8", node2.Name, nil) + p9 := buildTestPod("p9", node2.Name, nil) + p10 := buildTestPod("p10", node2.Name, nil) + p11 := buildTestPod("p11", node2.Name, nil) + p12 := buildTestPod("p11", node2.Name, nil) p1.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p2.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -163,17 +167,17 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { "datacenter": "west", } - p13 := test.BuildTestPod("p13", 100, 0, node5.Name, nil) + p13 := buildTestPod("p13", node5.Name, nil) p13.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated p13 = addTolerationToPod(p13, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) - p14 := test.BuildTestPod("p14", 100, 0, node7.Name, nil) + p14 := buildTestPod("p14", node7.Name, nil) p14.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p14 = addTolerationToPod(p14, "testTaint", "test", 1, v1.TaintEffectNoSchedule) - p15 := test.BuildTestPod("p15", 100, 0, node7.Name, nil) + p15 := buildTestPod("p15", node7.Name, nil) p15.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p15 = addTolerationToPod(p15, "testTaint", "test", 1, v1.TaintEffectNoSchedule) p15 = addTolerationToPod(p15, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) From ba034d6e0ef144a24b99d22c8e83c9f541b77538 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:22:16 +0100 Subject: [PATCH 03/59] refactor(node_taint_test): add node name constants --- .../node_taint_test.go | 54 +++++++++++-------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 14e3d6684..7d9920874 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -34,6 +34,16 @@ import ( "sigs.k8s.io/descheduler/test" ) +const ( + nodeName1 = "n1" + nodeName2 = "n2" + nodeName3 = "n3" + nodeName4 = "n4" + nodeName5 = "n5" + nodeName6 = "n6" + nodeName7 = "n7" +) + func buildTestNode(name string, apply func(*v1.Node)) *v1.Node { return test.BuildTestNode(name, 2000, 3000, 10, apply) } @@ -78,48 +88,48 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node1 := buildTestNode("n1", nil) + node1 := buildTestNode(nodeName1, nil) node1 = addTaintsToNode(node1, "testTaint", "test", []int{1}) - node2 := buildTestNode("n2", nil) + node2 := buildTestNode(nodeName2, nil) node2 = addTaintsToNode(node2, "testingTaint", "testing", []int{1}) - node3 := buildTestNode("n3", func(node *v1.Node) { + node3 := buildTestNode(nodeName3, func(node *v1.Node) { node.ObjectMeta.Labels = map[string]string{ "datacenter": "east", } }) - node4 := buildTestNode("n4", func(node *v1.Node) { + node4 := buildTestNode(nodeName4, func(node *v1.Node) { node.Spec = v1.NodeSpec{ Unschedulable: true, } }) - node5 := buildTestNode("n5", nil) + node5 := buildTestNode(nodeName5, nil) node5.Spec.Taints = []v1.Taint{ createPreferNoScheduleTaint("testTaint", "test", 1), } - node6 := test.BuildTestNode("n6", 1, 1, 1, nil) + node6 := test.BuildTestNode(nodeName6, 1, 1, 1, nil) node6.Spec.Taints = []v1.Taint{ createPreferNoScheduleTaint("testTaint", "test", 1), } - node7 := buildTestNode("n7", nil) + node7 := buildTestNode(nodeName7, nil) node7 = addTaintsToNode(node7, "testTaint", "test", []int{1}) node7 = addTaintsToNode(node7, "testingTaint", "testing", []int{1}) - p1 := buildTestPod("p1", node1.Name, nil) - p2 := buildTestPod("p2", node1.Name, nil) - p3 := buildTestPod("p3", node1.Name, nil) - p4 := buildTestPod("p4", node1.Name, nil) - p5 := buildTestPod("p5", node1.Name, nil) - p6 := buildTestPod("p6", node1.Name, nil) - p7 := buildTestPod("p7", node2.Name, nil) - p8 := buildTestPod("p8", node2.Name, nil) - p9 := buildTestPod("p9", node2.Name, nil) - p10 := buildTestPod("p10", node2.Name, nil) - p11 := buildTestPod("p11", node2.Name, nil) - p12 := buildTestPod("p11", node2.Name, nil) + p1 := buildTestPod("p1", nodeName1, nil) + p2 := buildTestPod("p2", nodeName1, nil) + p3 := buildTestPod("p3", nodeName1, nil) + p4 := buildTestPod("p4", nodeName1, nil) + p5 := buildTestPod("p5", nodeName1, nil) + p6 := buildTestPod("p6", nodeName1, nil) + p7 := buildTestPod("p7", nodeName2, nil) + p8 := buildTestPod("p8", nodeName2, nil) + p9 := buildTestPod("p9", nodeName2, nil) + p10 := buildTestPod("p10", nodeName2, nil) + p11 := buildTestPod("p11", nodeName2, nil) + p12 := buildTestPod("p11", nodeName2, nil) p1.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p2.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -167,17 +177,17 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { "datacenter": "west", } - p13 := buildTestPod("p13", node5.Name, nil) + p13 := buildTestPod("p13", nodeName5, nil) p13.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated p13 = addTolerationToPod(p13, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) - p14 := buildTestPod("p14", node7.Name, nil) + p14 := buildTestPod("p14", nodeName7, nil) p14.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p14 = addTolerationToPod(p14, "testTaint", "test", 1, v1.TaintEffectNoSchedule) - p15 := buildTestPod("p15", node7.Name, nil) + p15 := buildTestPod("p15", nodeName7, nil) p15.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p15 = addTolerationToPod(p15, "testTaint", "test", 1, v1.TaintEffectNoSchedule) p15 = addTolerationToPod(p15, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) From 6c41ebd8f316ceaa5de53e6d31828a060eabf280 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:26:08 +0100 Subject: [PATCH 04/59] refactor(node_taint_test): apply node single creation convention for node1 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 7d9920874..0d995ba17 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -88,8 +88,9 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node1 := buildTestNode(nodeName1, nil) - node1 = addTaintsToNode(node1, "testTaint", "test", []int{1}) + node1 := buildTestNode(nodeName1, func(node *v1.Node) { + addTaintsToNode(node, "testTaint", "test", []int{1}) + }) node2 := buildTestNode(nodeName2, nil) node2 = addTaintsToNode(node2, "testingTaint", "testing", []int{1}) From 3325fe0b8b7ae7be6152713ae92a61f1bc439a9c Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:32:28 +0100 Subject: [PATCH 05/59] refactor(node_taint_test): apply node single creation convention for node2 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 0d995ba17..0ffb40f50 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -91,8 +91,9 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { node1 := buildTestNode(nodeName1, func(node *v1.Node) { addTaintsToNode(node, "testTaint", "test", []int{1}) }) - node2 := buildTestNode(nodeName2, nil) - node2 = addTaintsToNode(node2, "testingTaint", "testing", []int{1}) + node2 := buildTestNode(nodeName2, func(node *v1.Node) { + addTaintsToNode(node, "testingTaint", "testing", []int{1}) + }) node3 := buildTestNode(nodeName3, func(node *v1.Node) { node.ObjectMeta.Labels = map[string]string{ From 9cf075ffc4cdbbc03b50a0009e889c17287d0583 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:34:47 +0100 Subject: [PATCH 06/59] refactor(node_taint_test): apply node single creation convention for node5 --- .../removepodsviolatingnodetaints/node_taint_test.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 0ffb40f50..0976f22b6 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -106,10 +106,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { } }) - node5 := buildTestNode(nodeName5, nil) - node5.Spec.Taints = []v1.Taint{ - createPreferNoScheduleTaint("testTaint", "test", 1), - } + node5 := buildTestNode(nodeName5, func(node *v1.Node) { + node.Spec.Taints = []v1.Taint{ + createPreferNoScheduleTaint("testTaint", "test", 1), + } + }) node6 := test.BuildTestNode(nodeName6, 1, 1, 1, nil) node6.Spec.Taints = []v1.Taint{ From ca5326c5c4a39514fe76bbe2e14ff1247e23d930 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:35:12 +0100 Subject: [PATCH 07/59] refactor(node_taint_test): apply node single creation convention for node6 --- .../removepodsviolatingnodetaints/node_taint_test.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 0976f22b6..31ca098cc 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -112,10 +112,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { } }) - node6 := test.BuildTestNode(nodeName6, 1, 1, 1, nil) - node6.Spec.Taints = []v1.Taint{ - createPreferNoScheduleTaint("testTaint", "test", 1), - } + node6 := test.BuildTestNode(nodeName6, 1, 1, 1, func(node *v1.Node) { + node.Spec.Taints = []v1.Taint{ + createPreferNoScheduleTaint("testTaint", "test", 1), + } + }) node7 := buildTestNode(nodeName7, nil) node7 = addTaintsToNode(node7, "testTaint", "test", []int{1}) From 64f77ce6ee13c35409b65a61951b2364e25b4982 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:35:38 +0100 Subject: [PATCH 08/59] refactor(node_taint_test): apply node single creation convention for node7 --- .../removepodsviolatingnodetaints/node_taint_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 31ca098cc..8d04d56c8 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -118,9 +118,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { } }) - node7 := buildTestNode(nodeName7, nil) - node7 = addTaintsToNode(node7, "testTaint", "test", []int{1}) - node7 = addTaintsToNode(node7, "testingTaint", "testing", []int{1}) + node7 := buildTestNode(nodeName7, func(node *v1.Node) { + addTaintsToNode(node, "testTaint", "test", []int{1}) + addTaintsToNode(node, "testingTaint", "testing", []int{1}) + }) p1 := buildTestPod("p1", nodeName1, nil) p2 := buildTestPod("p2", nodeName1, nil) From 39212419e64235a4cdb75bbbcfd4c240e5f75124 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:38:35 +0100 Subject: [PATCH 09/59] refactor(node_taint_test): apply pod single creation convention for p1 --- .../removepodsviolatingnodetaints/node_taint_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 8d04d56c8..a4ed2dbf7 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -123,7 +123,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { addTaintsToNode(node, "testingTaint", "testing", []int{1}) }) - p1 := buildTestPod("p1", nodeName1, nil) + p1 := buildTestPod("p1", nodeName1, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) + }) p2 := buildTestPod("p2", nodeName1, nil) p3 := buildTestPod("p3", nodeName1, nil) p4 := buildTestPod("p4", nodeName1, nil) @@ -135,8 +138,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - - p1.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p2.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p3.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p4.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -174,7 +175,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // A Mirror Pod. p10.Annotations = test.GetMirrorPodAnnotation() - p1 = addTolerationToPod(p1, "testTaint", "test", 1, v1.TaintEffectNoSchedule) p3 = addTolerationToPod(p3, "testTaint", "test", 1, v1.TaintEffectNoSchedule) p4 = addTolerationToPod(p4, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) From dc18f9f3301e4ff6d49db7246b7cae76f0dc757c Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:39:54 +0100 Subject: [PATCH 10/59] refactor(node_taint_test): apply pod single creation convention for p2 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index a4ed2dbf7..35808b592 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -127,7 +127,9 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) }) - p2 := buildTestPod("p2", nodeName1, nil) + p2 := buildTestPod("p2", nodeName1, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + }) p3 := buildTestPod("p3", nodeName1, nil) p4 := buildTestPod("p4", nodeName1, nil) p5 := buildTestPod("p5", nodeName1, nil) @@ -138,7 +140,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p2.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p3.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p4.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p5.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() From d6b35eaed66ecea4170efec43029fbc1012c4a3c Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:40:41 +0100 Subject: [PATCH 11/59] refactor(node_taint_test): apply pod single creation convention for p3 --- .../removepodsviolatingnodetaints/node_taint_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 35808b592..14d610cee 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -130,7 +130,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p2 := buildTestPod("p2", nodeName1, func(pod *v1.Pod) { pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() }) - p3 := buildTestPod("p3", nodeName1, nil) + p3 := buildTestPod("p3", nodeName1, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) + }) p4 := buildTestPod("p4", nodeName1, nil) p5 := buildTestPod("p5", nodeName1, nil) p6 := buildTestPod("p6", nodeName1, nil) @@ -140,7 +143,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p3.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p4.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p5.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p6.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -176,7 +178,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // A Mirror Pod. p10.Annotations = test.GetMirrorPodAnnotation() - p3 = addTolerationToPod(p3, "testTaint", "test", 1, v1.TaintEffectNoSchedule) p4 = addTolerationToPod(p4, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) p12.Spec.NodeSelector = map[string]string{ From 0d496dfc5dd0f9cca8eb5f524ac0e11cabdaf216 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:41:19 +0100 Subject: [PATCH 12/59] refactor(node_taint_test): apply pod single creation convention for p4 --- .../removepodsviolatingnodetaints/node_taint_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 14d610cee..bbf1d923c 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -134,7 +134,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) }) - p4 := buildTestPod("p4", nodeName1, nil) + p4 := buildTestPod("p4", nodeName1, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + addTolerationToPod(pod, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) + }) p5 := buildTestPod("p5", nodeName1, nil) p6 := buildTestPod("p6", nodeName1, nil) p7 := buildTestPod("p7", nodeName2, nil) @@ -143,7 +146,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p4.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p5.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p6.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p7.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -178,8 +180,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // A Mirror Pod. p10.Annotations = test.GetMirrorPodAnnotation() - p4 = addTolerationToPod(p4, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) - p12.Spec.NodeSelector = map[string]string{ "datacenter": "west", } From b86315f097958aca8876f7fc2afc12e95909281f Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:41:39 +0100 Subject: [PATCH 13/59] refactor(node_taint_test): apply pod single creation convention for p5 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index bbf1d923c..2c20b43e0 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -138,7 +138,9 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() addTolerationToPod(pod, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) }) - p5 := buildTestPod("p5", nodeName1, nil) + p5 := buildTestPod("p5", nodeName1, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + }) p6 := buildTestPod("p6", nodeName1, nil) p7 := buildTestPod("p7", nodeName2, nil) p8 := buildTestPod("p8", nodeName2, nil) @@ -146,7 +148,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p5.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p6.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p7.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p8.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() From 1b7889f4a332b3bb8edc81f3c81dad2a6dc9430b Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:42:00 +0100 Subject: [PATCH 14/59] refactor(node_taint_test): apply pod single creation convention for p6 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 2c20b43e0..3bbd5bda7 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -141,14 +141,15 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p5 := buildTestPod("p5", nodeName1, func(pod *v1.Pod) { pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() }) - p6 := buildTestPod("p6", nodeName1, nil) + p6 := buildTestPod("p6", nodeName1, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + }) p7 := buildTestPod("p7", nodeName2, nil) p8 := buildTestPod("p8", nodeName2, nil) p9 := buildTestPod("p9", nodeName2, nil) p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p6.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p7.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p8.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p9.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() From 43523113ffb2c13f82d2fa214c9bfca3651540dd Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:42:34 +0100 Subject: [PATCH 15/59] refactor(node_taint_test): apply pod single creation convention for p7 --- .../node_taint_test.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 3bbd5bda7..22797e4cf 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -144,13 +144,17 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p6 := buildTestPod("p6", nodeName1, func(pod *v1.Pod) { pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() }) - p7 := buildTestPod("p7", nodeName2, nil) + p7 := buildTestPod("p7", nodeName2, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + pod.Namespace = "kube-system" + priority := utils.SystemCriticalPriority + pod.Spec.Priority = &priority + }) p8 := buildTestPod("p8", nodeName2, nil) p9 := buildTestPod("p9", nodeName2, nil) p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p7.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p8.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p9.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p10.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -159,11 +163,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // The following 4 pods won't get evicted. // A Critical Pod. - p7.Namespace = "kube-system" - priority := utils.SystemCriticalPriority - p7.Spec.Priority = &priority - p7.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() - // A daemonset. p8.ObjectMeta.OwnerReferences = test.GetDaemonSetOwnerRefList() // A pod with local storage. From f0cda32b6eaa60a4fcc1f6d9b3fe28568e8c7996 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:43:01 +0100 Subject: [PATCH 16/59] refactor(node_taint_test): apply pod single creation convention for p8 --- .../removepodsviolatingnodetaints/node_taint_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 22797e4cf..ddc8d57a0 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -150,12 +150,13 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { priority := utils.SystemCriticalPriority pod.Spec.Priority = &priority }) - p8 := buildTestPod("p8", nodeName2, nil) + p8 := buildTestPod("p8", nodeName2, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetDaemonSetOwnerRefList() + }) p9 := buildTestPod("p9", nodeName2, nil) p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p8.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p9.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p10.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p11.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -164,7 +165,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // The following 4 pods won't get evicted. // A Critical Pod. // A daemonset. - p8.ObjectMeta.OwnerReferences = test.GetDaemonSetOwnerRefList() // A pod with local storage. p9.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p9.Spec.Volumes = []v1.Volume{ From 2f90d1dd01903981299617ce4ce1a47cf2feba45 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:43:32 +0100 Subject: [PATCH 17/59] refactor(node_taint_test): apply pod single creation convention for p9 --- .../node_taint_test.go | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index ddc8d57a0..20d8587d9 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -153,11 +153,23 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p8 := buildTestPod("p8", nodeName2, func(pod *v1.Pod) { pod.ObjectMeta.OwnerReferences = test.GetDaemonSetOwnerRefList() }) - p9 := buildTestPod("p9", nodeName2, nil) + p9 := buildTestPod("p9", nodeName2, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + pod.Spec.Volumes = []v1.Volume{ + { + Name: "sample", + VolumeSource: v1.VolumeSource{ + HostPath: &v1.HostPathVolumeSource{Path: "somePath"}, + EmptyDir: &v1.EmptyDirVolumeSource{ + SizeLimit: resource.NewQuantity(int64(10), resource.BinarySI), + }, + }, + }, + } + }) p10 := buildTestPod("p10", nodeName2, nil) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p9.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p10.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p11.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p12.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -166,18 +178,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // A Critical Pod. // A daemonset. // A pod with local storage. - p9.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() - p9.Spec.Volumes = []v1.Volume{ - { - Name: "sample", - VolumeSource: v1.VolumeSource{ - HostPath: &v1.HostPathVolumeSource{Path: "somePath"}, - EmptyDir: &v1.EmptyDirVolumeSource{ - SizeLimit: resource.NewQuantity(int64(10), resource.BinarySI), - }, - }, - }, - } // A Mirror Pod. p10.Annotations = test.GetMirrorPodAnnotation() From a1678cd4644da05d8c1ad3ac44b3d002f7f91518 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:44:01 +0100 Subject: [PATCH 18/59] refactor(node_taint_test): apply pod single creation convention for p10 --- .../removepodsviolatingnodetaints/node_taint_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 20d8587d9..dba67ea32 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -167,10 +167,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, } }) - p10 := buildTestPod("p10", nodeName2, nil) + p10 := buildTestPod("p10", nodeName2, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + pod.Annotations = test.GetMirrorPodAnnotation() + }) p11 := buildTestPod("p11", nodeName2, nil) p12 := buildTestPod("p11", nodeName2, nil) - p10.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p11.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p12.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() @@ -179,7 +181,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // A daemonset. // A pod with local storage. // A Mirror Pod. - p10.Annotations = test.GetMirrorPodAnnotation() p12.Spec.NodeSelector = map[string]string{ "datacenter": "west", From 4171af7e8a9272c1e602f8ffffce94eda08b9653 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:44:19 +0100 Subject: [PATCH 19/59] refactor(node_taint_test): apply pod single creation convention for p11 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index dba67ea32..7f5450461 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -171,9 +171,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() pod.Annotations = test.GetMirrorPodAnnotation() }) - p11 := buildTestPod("p11", nodeName2, nil) + p11 := buildTestPod("p11", nodeName2, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + }) p12 := buildTestPod("p11", nodeName2, nil) - p11.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() p12.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() // The following 4 pods won't get evicted. From 0580b5942c3d8c7b15bc914c8c72f39c9507eb78 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:44:46 +0100 Subject: [PATCH 20/59] refactor(node_taint_test): apply pod single creation convention for p12 --- .../removepodsviolatingnodetaints/node_taint_test.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 7f5450461..3c343fa61 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -174,8 +174,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p11 := buildTestPod("p11", nodeName2, func(pod *v1.Pod) { pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() }) - p12 := buildTestPod("p11", nodeName2, nil) - p12.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + p12 := buildTestPod("p11", nodeName2, func(pod *v1.Pod) { + pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + pod.Spec.NodeSelector = map[string]string{ + "datacenter": "west", + } + }) // The following 4 pods won't get evicted. // A Critical Pod. @@ -183,10 +187,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // A pod with local storage. // A Mirror Pod. - p12.Spec.NodeSelector = map[string]string{ - "datacenter": "west", - } - p13 := buildTestPod("p13", nodeName5, nil) p13.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have From 7fb935c6505f7e37039e421b7dd7f3bd6f7e5b3b Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:52:42 +0100 Subject: [PATCH 21/59] refactor(node_taint_test): replace GetNormalPodOwnerRefList with SetNormalOwnerRef --- .../node_taint_test.go | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 3c343fa61..f15e67acd 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -124,28 +124,28 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }) p1 := buildTestPod("p1", nodeName1, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) }) p2 := buildTestPod("p2", nodeName1, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) }) p3 := buildTestPod("p3", nodeName1, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) }) p4 := buildTestPod("p4", nodeName1, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) addTolerationToPod(pod, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) }) p5 := buildTestPod("p5", nodeName1, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) }) p6 := buildTestPod("p6", nodeName1, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) }) p7 := buildTestPod("p7", nodeName2, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) pod.Namespace = "kube-system" priority := utils.SystemCriticalPriority pod.Spec.Priority = &priority @@ -154,7 +154,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pod.ObjectMeta.OwnerReferences = test.GetDaemonSetOwnerRefList() }) p9 := buildTestPod("p9", nodeName2, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) pod.Spec.Volumes = []v1.Volume{ { Name: "sample", @@ -168,14 +168,14 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { } }) p10 := buildTestPod("p10", nodeName2, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) pod.Annotations = test.GetMirrorPodAnnotation() }) p11 := buildTestPod("p11", nodeName2, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) }) p12 := buildTestPod("p11", nodeName2, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(pod) pod.Spec.NodeSelector = map[string]string{ "datacenter": "west", } @@ -188,17 +188,17 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // A Mirror Pod. p13 := buildTestPod("p13", nodeName5, nil) - p13.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(p13) // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated p13 = addTolerationToPod(p13, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) p14 := buildTestPod("p14", nodeName7, nil) - p14.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(p14) p14 = addTolerationToPod(p14, "testTaint", "test", 1, v1.TaintEffectNoSchedule) p15 := buildTestPod("p15", nodeName7, nil) - p15.ObjectMeta.OwnerReferences = test.GetNormalPodOwnerRefList() + test.SetNormalOwnerRef(p15) p15 = addTolerationToPod(p15, "testTaint", "test", 1, v1.TaintEffectNoSchedule) p15 = addTolerationToPod(p15, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) From 63b3bd3b4deab52215cab5e5c3950e27d10c4e70 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:54:44 +0100 Subject: [PATCH 22/59] refactor(node_taint_test): apply pod single creation convention for p13 --- .../removepodsviolatingnodetaints/node_taint_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index f15e67acd..bbdd98c59 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -187,11 +187,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // A pod with local storage. // A Mirror Pod. - p13 := buildTestPod("p13", nodeName5, nil) - test.SetNormalOwnerRef(p13) // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated - p13 = addTolerationToPod(p13, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) + p13 := buildTestPod("p13", nodeName5, func(pod *v1.Pod) { + test.SetNormalOwnerRef(pod) + addTolerationToPod(pod, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) + }) p14 := buildTestPod("p14", nodeName7, nil) test.SetNormalOwnerRef(p14) From a363da9806d5fee38432381a8585de38a072b209 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:55:02 +0100 Subject: [PATCH 23/59] refactor(node_taint_test): apply pod single creation convention for p14 --- .../removepodsviolatingnodetaints/node_taint_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index bbdd98c59..e9ff2a7fd 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -194,9 +194,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { addTolerationToPod(pod, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) }) - p14 := buildTestPod("p14", nodeName7, nil) - test.SetNormalOwnerRef(p14) - p14 = addTolerationToPod(p14, "testTaint", "test", 1, v1.TaintEffectNoSchedule) + p14 := buildTestPod("p14", nodeName7, func(pod *v1.Pod) { + test.SetNormalOwnerRef(pod) + addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) + }) p15 := buildTestPod("p15", nodeName7, nil) test.SetNormalOwnerRef(p15) From 2bbec0cbc6678553081f991edb0b113fccaf73ea Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 16:55:21 +0100 Subject: [PATCH 24/59] refactor(node_taint_test): apply pod single creation convention for p15 --- .../removepodsviolatingnodetaints/node_taint_test.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index e9ff2a7fd..1465c3595 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -199,10 +199,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) }) - p15 := buildTestPod("p15", nodeName7, nil) - test.SetNormalOwnerRef(p15) - p15 = addTolerationToPod(p15, "testTaint", "test", 1, v1.TaintEffectNoSchedule) - p15 = addTolerationToPod(p15, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) + p15 := buildTestPod("p15", nodeName7, func(pod *v1.Pod) { + test.SetNormalOwnerRef(pod) + addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) + addTolerationToPod(pod, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) + }) var uint1, uint2 uint = 1, 2 From b9ceb9144f555ede663bd06655801766fd5ee8b6 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:01:43 +0100 Subject: [PATCH 25/59] refactor(node_taint_test): remove default false settings for evict flags --- .../node_taint_test.go | 43 ------------------- 1 file changed, 43 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 1465c3595..36e3ffa21 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -226,24 +226,18 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating node taint should be evicted", pods: []*v1.Pod{p1, p2, p3}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 1, // p2 gets evicted }, { description: "Pods with tolerations but not tolerating node taint should be evicted", pods: []*v1.Pod{p1, p3, p4}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 1, // p4 gets evicted }, { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{p1, p5, p6}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, maxPodsToEvictPerNode: &uint2, maxNoOfPodsToEvictTotal: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted @@ -252,8 +246,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{p1, p5, p6}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, maxPodsToEvictPerNode: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, @@ -261,8 +253,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{p1, p5, p6}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, maxNoOfPodsToEvictPerNamespace: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, @@ -270,8 +260,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{p1, p5, p6}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, maxNoOfPodsToEvictPerNamespace: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, @@ -279,8 +267,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Critical pods not tolerating node taint should not be evicted", pods: []*v1.Pod{p7, p8, p9, p10}, nodes: []*v1.Node{node2}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 0, // nothing is evicted }, { @@ -288,22 +274,18 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{p7, p8, p9, p10}, nodes: []*v1.Node{node2}, evictLocalStoragePods: true, - evictSystemCriticalPods: false, expectedEvictedPodCount: 1, // p9 gets evicted }, { description: "Critical and non critical pods, only non critical pods not tolerating node taint should be evicted", pods: []*v1.Pod{p7, p8, p10, p11}, nodes: []*v1.Node{node2}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 1, // p11 gets evicted }, { description: "Critical and non critical pods, pods not tolerating node taint should be evicted even if they are critical", pods: []*v1.Pod{p2, p7, p9, p10}, nodes: []*v1.Node{node1, node2}, - evictLocalStoragePods: false, evictSystemCriticalPods: true, expectedEvictedPodCount: 2, // p2 and p7 are evicted }, @@ -311,8 +293,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pod p2 doesn't tolerate taint on it's node, but also doesn't tolerate taints on other nodes", pods: []*v1.Pod{p1, p2, p3}, nodes: []*v1.Node{node1, node2}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, }, @@ -320,8 +300,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pod p12 doesn't tolerate taint on it's node, but other nodes don't match it's selector", pods: []*v1.Pod{p1, p3, p12}, nodes: []*v1.Node{node1, node3}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, }, @@ -329,8 +307,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pod p2 doesn't tolerate taint on it's node, but other nodes are unschedulable", pods: []*v1.Pod{p1, p2, p3}, nodes: []*v1.Node{node1, node4}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, }, @@ -338,16 +314,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating PreferNoSchedule node taint should not be evicted when not enabled", pods: []*v1.Pod{p13}, nodes: []*v1.Node{node5}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 0, }, { description: "Pods not tolerating PreferNoSchedule node taint should be evicted when enabled", pods: []*v1.Pod{p13}, nodes: []*v1.Node{node5}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, includePreferNoSchedule: true, expectedEvictedPodCount: 1, // p13 gets evicted }, @@ -355,8 +327,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating excluded node taints (by key) should not be evicted", pods: []*v1.Pod{p2}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, excludedTaints: []string{"excludedTaint1", "testTaint1"}, expectedEvictedPodCount: 0, // nothing gets evicted, as one of the specified excludedTaints matches the key of node1's taint }, @@ -364,8 +334,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating excluded node taints (by key and value) should not be evicted", pods: []*v1.Pod{p2}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, excludedTaints: []string{"testTaint1=test1"}, expectedEvictedPodCount: 0, // nothing gets evicted, as both the key and value of the excluded taint match node1's taint }, @@ -373,8 +341,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "The excluded taint matches the key of node1's taint, but does not match the value", pods: []*v1.Pod{p2}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, excludedTaints: []string{"testTaint1=test2"}, expectedEvictedPodCount: 1, // pod gets evicted, as excluded taint value does not match node1's taint value }, @@ -382,7 +348,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Critical and non critical pods, pods not tolerating node taint can't be evicted because the only available node does not have enough resources.", pods: []*v1.Pod{p2, p7, p9, p10}, nodes: []*v1.Node{node1, node6}, - evictLocalStoragePods: false, evictSystemCriticalPods: true, expectedEvictedPodCount: 0, // p2 and p7 can't be evicted nodeFit: true, @@ -391,8 +356,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods tolerating included taints should not get evicted even with other taints present", pods: []*v1.Pod{p1}, nodes: []*v1.Node{node7}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, includedTaints: []string{"testTaint1=test1"}, expectedEvictedPodCount: 0, // nothing gets evicted, as p1 tolerates the included taint, and taint "testingTaint1=testing1" is not included }, @@ -400,8 +363,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating not included taints should not get evicted", pods: []*v1.Pod{p1, p2, p4}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, includedTaints: []string{"testTaint2=test2"}, expectedEvictedPodCount: 0, // nothing gets evicted, as taint is not included, even though the pods' p2 and p4 tolerations do not match node1's taint }, @@ -409,8 +370,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods tolerating includedTaint should not get evicted. Pods not tolerating includedTaints should get evicted", pods: []*v1.Pod{p1, p2, p3}, nodes: []*v1.Node{node1}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, includedTaints: []string{"testTaint1=test1"}, expectedEvictedPodCount: 1, // node1 taint is included. p1 and p3 tolerate the included taint, p2 gets evicted }, @@ -418,8 +377,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating all taints are evicted when includedTaints is empty", pods: []*v1.Pod{p14, p15}, nodes: []*v1.Node{node7}, - evictLocalStoragePods: false, - evictSystemCriticalPods: false, expectedEvictedPodCount: 1, // includedTaints is empty so all taints are included. p15 tolerates both node taints and does not get evicted. p14 tolerate only one and gets evicted }, } From f65209d4faae68f5d1ffe29bca52ca61c73d9074 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:08:50 +0100 Subject: [PATCH 26/59] refactor(node_taint_test): inline addTaintsToNode --- .../node_taint_test.go | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 36e3ffa21..8ffae1ed0 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -68,15 +68,6 @@ func createPreferNoScheduleTaint(key, value string, index int) v1.Taint { } } -func addTaintsToNode(node *v1.Node, key, value string, indices []int) *v1.Node { - taints := []v1.Taint{} - for _, index := range indices { - taints = append(taints, createNoScheduleTaint(key, value, index)) - } - node.Spec.Taints = taints - return node -} - func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.TaintEffect) *v1.Pod { if pod.Annotations == nil { pod.Annotations = map[string]string{} @@ -89,10 +80,14 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai func TestDeletePodsViolatingNodeTaints(t *testing.T) { node1 := buildTestNode(nodeName1, func(node *v1.Node) { - addTaintsToNode(node, "testTaint", "test", []int{1}) + node.Spec.Taints = []v1.Taint{ + createNoScheduleTaint("testTaint", "test", 1), + } }) node2 := buildTestNode(nodeName2, func(node *v1.Node) { - addTaintsToNode(node, "testingTaint", "testing", []int{1}) + node.Spec.Taints = []v1.Taint{ + createNoScheduleTaint("testingTaint", "testing", 1), + } }) node3 := buildTestNode(nodeName3, func(node *v1.Node) { @@ -119,8 +114,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }) node7 := buildTestNode(nodeName7, func(node *v1.Node) { - addTaintsToNode(node, "testTaint", "test", []int{1}) - addTaintsToNode(node, "testingTaint", "testing", []int{1}) + node.Spec.Taints = []v1.Taint{ + createNoScheduleTaint("testTaint", "test", 1), + createNoScheduleTaint("testingTaint", "testing", 1), + } }) p1 := buildTestPod("p1", nodeName1, func(pod *v1.Pod) { From e5d5cf2229dabc32eb9a233e7f0cf0f9b3969ae9 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:11:54 +0100 Subject: [PATCH 27/59] refactor(node_taint_test): create dedicated functions for taint configurations --- .../node_taint_test.go | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 8ffae1ed0..06291efda 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -68,6 +68,25 @@ func createPreferNoScheduleTaint(key, value string, index int) v1.Taint { } } +func withTestTaint1(node *v1.Node) { + node.Spec.Taints = []v1.Taint{ + createNoScheduleTaint("testTaint", "test", 1), + } +} + +func withTestingTaint1(node *v1.Node) { + node.Spec.Taints = []v1.Taint{ + createNoScheduleTaint("testingTaint", "testing", 1), + } +} + +func withBothTaints1(node *v1.Node) { + node.Spec.Taints = []v1.Taint{ + createNoScheduleTaint("testTaint", "test", 1), + createNoScheduleTaint("testingTaint", "testing", 1), + } +} + func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.TaintEffect) *v1.Pod { if pod.Annotations == nil { pod.Annotations = map[string]string{} @@ -79,16 +98,8 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node1 := buildTestNode(nodeName1, func(node *v1.Node) { - node.Spec.Taints = []v1.Taint{ - createNoScheduleTaint("testTaint", "test", 1), - } - }) - node2 := buildTestNode(nodeName2, func(node *v1.Node) { - node.Spec.Taints = []v1.Taint{ - createNoScheduleTaint("testingTaint", "testing", 1), - } - }) + node1 := buildTestNode(nodeName1, withTestTaint1) + node2 := buildTestNode(nodeName2, withTestingTaint1) node3 := buildTestNode(nodeName3, func(node *v1.Node) { node.ObjectMeta.Labels = map[string]string{ @@ -113,12 +124,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { } }) - node7 := buildTestNode(nodeName7, func(node *v1.Node) { - node.Spec.Taints = []v1.Taint{ - createNoScheduleTaint("testTaint", "test", 1), - createNoScheduleTaint("testingTaint", "testing", 1), - } - }) + node7 := buildTestNode(nodeName7, withBothTaints1) p1 := buildTestPod("p1", nodeName1, func(pod *v1.Pod) { test.SetNormalOwnerRef(pod) From 3d48efdff44a82eafa9039c07573eb0ab59c0bc4 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:14:06 +0100 Subject: [PATCH 28/59] refactor(node_taint_test): add dedicated functions for remaining nodes --- .../node_taint_test.go | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 06291efda..c9bb0d093 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -87,6 +87,22 @@ func withBothTaints1(node *v1.Node) { } } +func withDatacenterEastLabel(node *v1.Node) { + node.ObjectMeta.Labels = map[string]string{ + "datacenter": "east", + } +} + +func withUnschedulable(node *v1.Node) { + node.Spec.Unschedulable = true +} + +func withPreferNoScheduleTestTaint1(node *v1.Node) { + node.Spec.Taints = []v1.Taint{ + createPreferNoScheduleTaint("testTaint", "test", 1), + } +} + func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.TaintEffect) *v1.Pod { if pod.Annotations == nil { pod.Annotations = map[string]string{} @@ -101,28 +117,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { node1 := buildTestNode(nodeName1, withTestTaint1) node2 := buildTestNode(nodeName2, withTestingTaint1) - node3 := buildTestNode(nodeName3, func(node *v1.Node) { - node.ObjectMeta.Labels = map[string]string{ - "datacenter": "east", - } - }) - node4 := buildTestNode(nodeName4, func(node *v1.Node) { - node.Spec = v1.NodeSpec{ - Unschedulable: true, - } - }) + node3 := buildTestNode(nodeName3, withDatacenterEastLabel) + node4 := buildTestNode(nodeName4, withUnschedulable) - node5 := buildTestNode(nodeName5, func(node *v1.Node) { - node.Spec.Taints = []v1.Taint{ - createPreferNoScheduleTaint("testTaint", "test", 1), - } - }) + node5 := buildTestNode(nodeName5, withPreferNoScheduleTestTaint1) - node6 := test.BuildTestNode(nodeName6, 1, 1, 1, func(node *v1.Node) { - node.Spec.Taints = []v1.Taint{ - createPreferNoScheduleTaint("testTaint", "test", 1), - } - }) + node6 := test.BuildTestNode(nodeName6, 1, 1, 1, withPreferNoScheduleTestTaint1) node7 := buildTestNode(nodeName7, withBothTaints1) From d27afd03194c6adb6a9092b05c945dd55a902b3d Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:15:46 +0100 Subject: [PATCH 29/59] refactor(node_taint_test): inline node1 --- .../node_taint_test.go | 126 +++++++++++------- 1 file changed, 81 insertions(+), 45 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index c9bb0d093..d3cc8c1ef 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -114,7 +114,6 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node1 := buildTestNode(nodeName1, withTestTaint1) node2 := buildTestNode(nodeName2, withTestingTaint1) node3 := buildTestNode(nodeName3, withDatacenterEastLabel) @@ -226,43 +225,55 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { includedTaints []string }{ { - description: "Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p2, p3}, - nodes: []*v1.Node{node1}, + description: "Pods not tolerating node taint should be evicted", + pods: []*v1.Pod{p1, p2, p3}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, expectedEvictedPodCount: 1, // p2 gets evicted }, { - description: "Pods with tolerations but not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p3, p4}, - nodes: []*v1.Node{node1}, + description: "Pods with tolerations but not tolerating node taint should be evicted", + pods: []*v1.Pod{p1, p3, p4}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, expectedEvictedPodCount: 1, // p4 gets evicted }, { - description: "Only number of Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p5, p6}, - nodes: []*v1.Node{node1}, + description: "Only number of Pods not tolerating node taint should be evicted", + pods: []*v1.Pod{p1, p5, p6}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, maxPodsToEvictPerNode: &uint2, maxNoOfPodsToEvictTotal: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, { - description: "Only number of Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p5, p6}, - nodes: []*v1.Node{node1}, + description: "Only number of Pods not tolerating node taint should be evicted", + pods: []*v1.Pod{p1, p5, p6}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, maxPodsToEvictPerNode: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{p1, p5, p6}, - nodes: []*v1.Node{node1}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, maxNoOfPodsToEvictPerNamespace: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{p1, p5, p6}, - nodes: []*v1.Node{node1}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, maxNoOfPodsToEvictPerNamespace: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, @@ -286,30 +297,42 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { expectedEvictedPodCount: 1, // p11 gets evicted }, { - description: "Critical and non critical pods, pods not tolerating node taint should be evicted even if they are critical", - pods: []*v1.Pod{p2, p7, p9, p10}, - nodes: []*v1.Node{node1, node2}, + description: "Critical and non critical pods, pods not tolerating node taint should be evicted even if they are critical", + pods: []*v1.Pod{p2, p7, p9, p10}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + node2, + }, evictSystemCriticalPods: true, expectedEvictedPodCount: 2, // p2 and p7 are evicted }, { - description: "Pod p2 doesn't tolerate taint on it's node, but also doesn't tolerate taints on other nodes", - pods: []*v1.Pod{p1, p2, p3}, - nodes: []*v1.Node{node1, node2}, + description: "Pod p2 doesn't tolerate taint on it's node, but also doesn't tolerate taints on other nodes", + pods: []*v1.Pod{p1, p2, p3}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + node2, + }, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, }, { - description: "Pod p12 doesn't tolerate taint on it's node, but other nodes don't match it's selector", - pods: []*v1.Pod{p1, p3, p12}, - nodes: []*v1.Node{node1, node3}, + description: "Pod p12 doesn't tolerate taint on it's node, but other nodes don't match it's selector", + pods: []*v1.Pod{p1, p3, p12}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + node3, + }, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, }, { - description: "Pod p2 doesn't tolerate taint on it's node, but other nodes are unschedulable", - pods: []*v1.Pod{p1, p2, p3}, - nodes: []*v1.Node{node1, node4}, + description: "Pod p2 doesn't tolerate taint on it's node, but other nodes are unschedulable", + pods: []*v1.Pod{p1, p2, p3}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + node4, + }, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, }, @@ -327,30 +350,39 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { expectedEvictedPodCount: 1, // p13 gets evicted }, { - description: "Pods not tolerating excluded node taints (by key) should not be evicted", - pods: []*v1.Pod{p2}, - nodes: []*v1.Node{node1}, + description: "Pods not tolerating excluded node taints (by key) should not be evicted", + pods: []*v1.Pod{p2}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, excludedTaints: []string{"excludedTaint1", "testTaint1"}, expectedEvictedPodCount: 0, // nothing gets evicted, as one of the specified excludedTaints matches the key of node1's taint }, { - description: "Pods not tolerating excluded node taints (by key and value) should not be evicted", - pods: []*v1.Pod{p2}, - nodes: []*v1.Node{node1}, + description: "Pods not tolerating excluded node taints (by key and value) should not be evicted", + pods: []*v1.Pod{p2}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, excludedTaints: []string{"testTaint1=test1"}, expectedEvictedPodCount: 0, // nothing gets evicted, as both the key and value of the excluded taint match node1's taint }, { - description: "The excluded taint matches the key of node1's taint, but does not match the value", - pods: []*v1.Pod{p2}, - nodes: []*v1.Node{node1}, + description: "The excluded taint matches the key of node1's taint, but does not match the value", + pods: []*v1.Pod{p2}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, excludedTaints: []string{"testTaint1=test2"}, expectedEvictedPodCount: 1, // pod gets evicted, as excluded taint value does not match node1's taint value }, { - description: "Critical and non critical pods, pods not tolerating node taint can't be evicted because the only available node does not have enough resources.", - pods: []*v1.Pod{p2, p7, p9, p10}, - nodes: []*v1.Node{node1, node6}, + description: "Critical and non critical pods, pods not tolerating node taint can't be evicted because the only available node does not have enough resources.", + pods: []*v1.Pod{p2, p7, p9, p10}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + node6, + }, evictSystemCriticalPods: true, expectedEvictedPodCount: 0, // p2 and p7 can't be evicted nodeFit: true, @@ -363,16 +395,20 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { expectedEvictedPodCount: 0, // nothing gets evicted, as p1 tolerates the included taint, and taint "testingTaint1=testing1" is not included }, { - description: "Pods not tolerating not included taints should not get evicted", - pods: []*v1.Pod{p1, p2, p4}, - nodes: []*v1.Node{node1}, + description: "Pods not tolerating not included taints should not get evicted", + pods: []*v1.Pod{p1, p2, p4}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, includedTaints: []string{"testTaint2=test2"}, expectedEvictedPodCount: 0, // nothing gets evicted, as taint is not included, even though the pods' p2 and p4 tolerations do not match node1's taint }, { - description: "Pods tolerating includedTaint should not get evicted. Pods not tolerating includedTaints should get evicted", - pods: []*v1.Pod{p1, p2, p3}, - nodes: []*v1.Node{node1}, + description: "Pods tolerating includedTaint should not get evicted. Pods not tolerating includedTaints should get evicted", + pods: []*v1.Pod{p1, p2, p3}, + nodes: []*v1.Node{ + buildTestNode(nodeName1, withTestTaint1), + }, includedTaints: []string{"testTaint1=test1"}, expectedEvictedPodCount: 1, // node1 taint is included. p1 and p3 tolerate the included taint, p2 gets evicted }, From 0f7ff8a2b76bb85c0aeae02195f0f79d1a228f6f Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:23:08 +0100 Subject: [PATCH 30/59] refactor(node_taint_test): inline node2 --- .../node_taint_test.go | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index d3cc8c1ef..6a0af043d 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -114,8 +114,6 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node2 := buildTestNode(nodeName2, withTestingTaint1) - node3 := buildTestNode(nodeName3, withDatacenterEastLabel) node4 := buildTestNode(nodeName4, withUnschedulable) @@ -260,40 +258,46 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, { - description: "Only number of Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p5, p6}, - nodes: []*v1.Node{ + description: "Only number of Pods not tolerating node taint should be evicted", + pods: []*v1.Pod{p1, p5, p6}, + nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, maxNoOfPodsToEvictPerNamespace: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, { - description: "Only number of Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p5, p6}, - nodes: []*v1.Node{ + description: "Only number of Pods not tolerating node taint should be evicted", + pods: []*v1.Pod{p1, p5, p6}, + nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, maxNoOfPodsToEvictPerNamespace: &uint1, expectedEvictedPodCount: 1, // p5 or p6 gets evicted }, { - description: "Critical pods not tolerating node taint should not be evicted", - pods: []*v1.Pod{p7, p8, p9, p10}, - nodes: []*v1.Node{node2}, + description: "Critical pods not tolerating node taint should not be evicted", + pods: []*v1.Pod{p7, p8, p9, p10}, + nodes: []*v1.Node{ + buildTestNode(nodeName2, withTestingTaint1), + }, expectedEvictedPodCount: 0, // nothing is evicted }, { - description: "Critical pods except storage pods not tolerating node taint should not be evicted", - pods: []*v1.Pod{p7, p8, p9, p10}, - nodes: []*v1.Node{node2}, + description: "Critical pods except storage pods not tolerating node taint should not be evicted", + pods: []*v1.Pod{p7, p8, p9, p10}, + nodes: []*v1.Node{ + buildTestNode(nodeName2, withTestingTaint1), + }, evictLocalStoragePods: true, expectedEvictedPodCount: 1, // p9 gets evicted }, { - description: "Critical and non critical pods, only non critical pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p7, p8, p10, p11}, - nodes: []*v1.Node{node2}, + description: "Critical and non critical pods, only non critical pods not tolerating node taint should be evicted", + pods: []*v1.Pod{p7, p8, p10, p11}, + nodes: []*v1.Node{ + buildTestNode(nodeName2, withTestingTaint1), + }, expectedEvictedPodCount: 1, // p11 gets evicted }, { @@ -301,7 +305,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{p2, p7, p9, p10}, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), - node2, + buildTestNode(nodeName2, withTestingTaint1), }, evictSystemCriticalPods: true, expectedEvictedPodCount: 2, // p2 and p7 are evicted @@ -311,7 +315,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{p1, p2, p3}, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), - node2, + buildTestNode(nodeName2, withTestingTaint1), }, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, From d81580c93e897230b50ca643e2b5752dbc4b29c3 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:23:42 +0100 Subject: [PATCH 31/59] refactor(node_taint_test): inline node3 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 6a0af043d..ad7e73be4 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -114,7 +114,6 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node3 := buildTestNode(nodeName3, withDatacenterEastLabel) node4 := buildTestNode(nodeName4, withUnschedulable) node5 := buildTestNode(nodeName5, withPreferNoScheduleTestTaint1) @@ -325,7 +324,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{p1, p3, p12}, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), - node3, + buildTestNode(nodeName3, withDatacenterEastLabel), }, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, From a3ca65ea14c19c3ed615484e73684be40f50e71b Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:24:17 +0100 Subject: [PATCH 32/59] refactor(node_taint_test): inline node4 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index ad7e73be4..2421ca3e1 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -114,8 +114,6 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node4 := buildTestNode(nodeName4, withUnschedulable) - node5 := buildTestNode(nodeName5, withPreferNoScheduleTestTaint1) node6 := test.BuildTestNode(nodeName6, 1, 1, 1, withPreferNoScheduleTestTaint1) @@ -334,7 +332,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{p1, p2, p3}, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), - node4, + buildTestNode(nodeName4, withUnschedulable), }, expectedEvictedPodCount: 0, // p2 gets evicted nodeFit: true, From 6b6f7ba5c7f87c1d6c72002830611699a9bb8a33 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:24:53 +0100 Subject: [PATCH 33/59] refactor(node_taint_test): inline node5 --- .../node_taint_test.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 2421ca3e1..dd0365e90 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -114,8 +114,6 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node5 := buildTestNode(nodeName5, withPreferNoScheduleTestTaint1) - node6 := test.BuildTestNode(nodeName6, 1, 1, 1, withPreferNoScheduleTestTaint1) node7 := buildTestNode(nodeName7, withBothTaints1) @@ -338,15 +336,19 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { nodeFit: true, }, { - description: "Pods not tolerating PreferNoSchedule node taint should not be evicted when not enabled", - pods: []*v1.Pod{p13}, - nodes: []*v1.Node{node5}, + description: "Pods not tolerating PreferNoSchedule node taint should not be evicted when not enabled", + pods: []*v1.Pod{p13}, + nodes: []*v1.Node{ + buildTestNode(nodeName5, withPreferNoScheduleTestTaint1), + }, expectedEvictedPodCount: 0, }, { - description: "Pods not tolerating PreferNoSchedule node taint should be evicted when enabled", - pods: []*v1.Pod{p13}, - nodes: []*v1.Node{node5}, + description: "Pods not tolerating PreferNoSchedule node taint should be evicted when enabled", + pods: []*v1.Pod{p13}, + nodes: []*v1.Node{ + buildTestNode(nodeName5, withPreferNoScheduleTestTaint1), + }, includePreferNoSchedule: true, expectedEvictedPodCount: 1, // p13 gets evicted }, From b96a41a745040153ae5af853d67ee7ad20ccd55e Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:25:27 +0100 Subject: [PATCH 34/59] refactor(node_taint_test): inline node6 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index dd0365e90..4d428a18a 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -114,8 +114,6 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node6 := test.BuildTestNode(nodeName6, 1, 1, 1, withPreferNoScheduleTestTaint1) - node7 := buildTestNode(nodeName7, withBothTaints1) p1 := buildTestPod("p1", nodeName1, func(pod *v1.Pod) { @@ -384,7 +382,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{p2, p7, p9, p10}, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), - node6, + test.BuildTestNode(nodeName6, 1, 1, 1, withPreferNoScheduleTestTaint1), }, evictSystemCriticalPods: true, expectedEvictedPodCount: 0, // p2 and p7 can't be evicted From 57ed329febbac4fd6047ae64b39d1f432316cbd5 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:26:04 +0100 Subject: [PATCH 35/59] refactor(node_taint_test): inline node7 --- .../node_taint_test.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 4d428a18a..0681ee1a7 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -114,8 +114,6 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - node7 := buildTestNode(nodeName7, withBothTaints1) - p1 := buildTestPod("p1", nodeName1, func(pod *v1.Pod) { test.SetNormalOwnerRef(pod) addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) @@ -389,9 +387,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { nodeFit: true, }, { - description: "Pods tolerating included taints should not get evicted even with other taints present", - pods: []*v1.Pod{p1}, - nodes: []*v1.Node{node7}, + description: "Pods tolerating included taints should not get evicted even with other taints present", + pods: []*v1.Pod{p1}, + nodes: []*v1.Node{ + buildTestNode(nodeName7, withBothTaints1), + }, includedTaints: []string{"testTaint1=test1"}, expectedEvictedPodCount: 0, // nothing gets evicted, as p1 tolerates the included taint, and taint "testingTaint1=testing1" is not included }, @@ -414,9 +414,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { expectedEvictedPodCount: 1, // node1 taint is included. p1 and p3 tolerate the included taint, p2 gets evicted }, { - description: "Pods not tolerating all taints are evicted when includedTaints is empty", - pods: []*v1.Pod{p14, p15}, - nodes: []*v1.Node{node7}, + description: "Pods not tolerating all taints are evicted when includedTaints is empty", + pods: []*v1.Pod{p14, p15}, + nodes: []*v1.Node{ + buildTestNode(nodeName7, withBothTaints1), + }, expectedEvictedPodCount: 1, // includedTaints is empty so all taints are included. p15 tolerates both node taints and does not get evicted. p14 tolerate only one and gets evicted }, } From 0269283185839e729afeea7a230f8669d745d119 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:34:18 +0100 Subject: [PATCH 36/59] refactor(node_taint_test): add buildTestPodWithNormalOwnerRef helper --- .../node_taint_test.go | 55 ++++++++----------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 0681ee1a7..f8ed590a8 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -52,6 +52,15 @@ func buildTestPod(name, nodeName string, apply func(*v1.Pod)) *v1.Pod { return test.BuildTestPod(name, 100, 0, nodeName, apply) } +func buildTestPodWithNormalOwnerRef(name, nodeName string, apply func(*v1.Pod)) *v1.Pod { + return buildTestPod(name, nodeName, func(pod *v1.Pod) { + test.SetNormalOwnerRef(pod) + if apply != nil { + apply(pod) + } + }) +} + func createNoScheduleTaint(key, value string, index int) v1.Taint { return v1.Taint{ Key: "testTaint" + fmt.Sprintf("%v", index), @@ -114,29 +123,19 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p1 := buildTestPod("p1", nodeName1, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p1 := buildTestPodWithNormalOwnerRef("p1", nodeName1, func(pod *v1.Pod) { addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) }) - p2 := buildTestPod("p2", nodeName1, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) - }) - p3 := buildTestPod("p3", nodeName1, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p2 := buildTestPodWithNormalOwnerRef("p2", nodeName1, nil) + p3 := buildTestPodWithNormalOwnerRef("p3", nodeName1, func(pod *v1.Pod) { addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) }) - p4 := buildTestPod("p4", nodeName1, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, func(pod *v1.Pod) { addTolerationToPod(pod, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) }) - p5 := buildTestPod("p5", nodeName1, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) - }) - p6 := buildTestPod("p6", nodeName1, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) - }) - p7 := buildTestPod("p7", nodeName2, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p5 := buildTestPodWithNormalOwnerRef("p5", nodeName1, nil) + p6 := buildTestPodWithNormalOwnerRef("p6", nodeName1, nil) + p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, func(pod *v1.Pod) { pod.Namespace = "kube-system" priority := utils.SystemCriticalPriority pod.Spec.Priority = &priority @@ -144,8 +143,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p8 := buildTestPod("p8", nodeName2, func(pod *v1.Pod) { pod.ObjectMeta.OwnerReferences = test.GetDaemonSetOwnerRefList() }) - p9 := buildTestPod("p9", nodeName2, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, func(pod *v1.Pod) { pod.Spec.Volumes = []v1.Volume{ { Name: "sample", @@ -158,15 +156,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, } }) - p10 := buildTestPod("p10", nodeName2, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, func(pod *v1.Pod) { pod.Annotations = test.GetMirrorPodAnnotation() }) - p11 := buildTestPod("p11", nodeName2, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) - }) - p12 := buildTestPod("p11", nodeName2, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p11 := buildTestPodWithNormalOwnerRef("p11", nodeName2, nil) + p12 := buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { pod.Spec.NodeSelector = map[string]string{ "datacenter": "west", } @@ -180,18 +174,15 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated - p13 := buildTestPod("p13", nodeName5, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p13 := buildTestPodWithNormalOwnerRef("p13", nodeName5, func(pod *v1.Pod) { addTolerationToPod(pod, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) }) - p14 := buildTestPod("p14", nodeName7, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p14 := buildTestPodWithNormalOwnerRef("p14", nodeName7, func(pod *v1.Pod) { addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) }) - p15 := buildTestPod("p15", nodeName7, func(pod *v1.Pod) { - test.SetNormalOwnerRef(pod) + p15 := buildTestPodWithNormalOwnerRef("p15", nodeName7, func(pod *v1.Pod) { addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) addTolerationToPod(pod, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) }) From 78ff3fe92a508946dc304a0c609d940ed103e3fc Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:37:45 +0100 Subject: [PATCH 37/59] refactor(node_taint_test): add withTestTaintToleration1 helper --- .../node_taint_test.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index f8ed590a8..15af32547 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -122,14 +122,14 @@ func addTolerationToPod(pod *v1.Pod, key, value string, index int, effect v1.Tai return pod } +func withTestTaintToleration1(pod *v1.Pod) { + addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) +} + func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p1 := buildTestPodWithNormalOwnerRef("p1", nodeName1, func(pod *v1.Pod) { - addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) - }) + p1 := buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1) p2 := buildTestPodWithNormalOwnerRef("p2", nodeName1, nil) - p3 := buildTestPodWithNormalOwnerRef("p3", nodeName1, func(pod *v1.Pod) { - addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) - }) + p3 := buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1) p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, func(pod *v1.Pod) { addTolerationToPod(pod, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) }) @@ -178,12 +178,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { addTolerationToPod(pod, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) }) - p14 := buildTestPodWithNormalOwnerRef("p14", nodeName7, func(pod *v1.Pod) { - addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) - }) + p14 := buildTestPodWithNormalOwnerRef("p14", nodeName7, withTestTaintToleration1) p15 := buildTestPodWithNormalOwnerRef("p15", nodeName7, func(pod *v1.Pod) { - addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) + withTestTaintToleration1(pod) addTolerationToPod(pod, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) }) From ca0f7535fb39326c76c5c655fedcfa302669e44b Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:41:25 +0100 Subject: [PATCH 38/59] refactor: add SetMirrorPodAnnotation helper function --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 4 +--- test/test_utils.go | 5 +++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 15af32547..6bcc5239e 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -156,9 +156,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, } }) - p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, func(pod *v1.Pod) { - pod.Annotations = test.GetMirrorPodAnnotation() - }) + p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation) p11 := buildTestPodWithNormalOwnerRef("p11", nodeName2, nil) p12 := buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { pod.Spec.NodeSelector = map[string]string{ diff --git a/test/test_utils.go b/test/test_utils.go index 186af2721..7c67dd247 100644 --- a/test/test_utils.go +++ b/test/test_utils.go @@ -252,6 +252,11 @@ func SetNormalOwnerRef(pod *v1.Pod) { pod.ObjectMeta.OwnerReferences = GetNormalPodOwnerRefList() } +// SetMirrorPodAnnotation sets the given pod's annotations to mirror pod annotations +func SetMirrorPodAnnotation(pod *v1.Pod) { + pod.Annotations = GetMirrorPodAnnotation() +} + // SetPodPriority sets the given pod's priority func SetPodPriority(pod *v1.Pod, priority int32) { pod.Spec.Priority = &priority From f123f78b44ec11eb8161b4a611f001f2259d73e1 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:45:02 +0100 Subject: [PATCH 39/59] refactor: add SetSystemCriticalPriority helper function --- .../removepodsviolatingnodetaints/node_taint_test.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 6bcc5239e..054da381f 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -137,12 +137,9 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p6 := buildTestPodWithNormalOwnerRef("p6", nodeName1, nil) p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, func(pod *v1.Pod) { pod.Namespace = "kube-system" - priority := utils.SystemCriticalPriority - pod.Spec.Priority = &priority - }) - p8 := buildTestPod("p8", nodeName2, func(pod *v1.Pod) { - pod.ObjectMeta.OwnerReferences = test.GetDaemonSetOwnerRefList() + test.SetPodPriority(pod, utils.SystemCriticalPriority) }) + p8 := buildTestPod("p8", nodeName2, test.SetDSOwnerRef) p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, func(pod *v1.Pod) { pod.Spec.Volumes = []v1.Volume{ { From 452b1ff7d9b60b894495275bd93e22a838239822 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:46:54 +0100 Subject: [PATCH 40/59] refactor(node_taint_test): add SetPodVolumes and withLocalStorageVolume helpers --- .../node_taint_test.go | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 054da381f..d48938859 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -126,6 +126,20 @@ func withTestTaintToleration1(pod *v1.Pod) { addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) } +func withLocalStorageVolume(pod *v1.Pod) { + pod.Spec.Volumes = []v1.Volume{ + { + Name: "sample", + VolumeSource: v1.VolumeSource{ + HostPath: &v1.HostPathVolumeSource{Path: "somePath"}, + EmptyDir: &v1.EmptyDirVolumeSource{ + SizeLimit: resource.NewQuantity(int64(10), resource.BinarySI), + }, + }, + }, + } +} + func TestDeletePodsViolatingNodeTaints(t *testing.T) { p1 := buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1) p2 := buildTestPodWithNormalOwnerRef("p2", nodeName1, nil) @@ -140,19 +154,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { test.SetPodPriority(pod, utils.SystemCriticalPriority) }) p8 := buildTestPod("p8", nodeName2, test.SetDSOwnerRef) - p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, func(pod *v1.Pod) { - pod.Spec.Volumes = []v1.Volume{ - { - Name: "sample", - VolumeSource: v1.VolumeSource{ - HostPath: &v1.HostPathVolumeSource{Path: "somePath"}, - EmptyDir: &v1.EmptyDirVolumeSource{ - SizeLimit: resource.NewQuantity(int64(10), resource.BinarySI), - }, - }, - }, - } - }) + p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume) p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation) p11 := buildTestPodWithNormalOwnerRef("p11", nodeName2, nil) p12 := buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { From 68d9d4d044ba17e8758e79aae549cfbd6c9972c2 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:50:04 +0100 Subject: [PATCH 41/59] refactor(node_taint_test): add datacenter label constants --- .../removepodsviolatingnodetaints/node_taint_test.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index d48938859..6e32872d4 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -42,6 +42,10 @@ const ( nodeName5 = "n5" nodeName6 = "n6" nodeName7 = "n7" + + datacenterLabel = "datacenter" + datacenterEast = "east" + datacenterWest = "west" ) func buildTestNode(name string, apply func(*v1.Node)) *v1.Node { @@ -98,7 +102,7 @@ func withBothTaints1(node *v1.Node) { func withDatacenterEastLabel(node *v1.Node) { node.ObjectMeta.Labels = map[string]string{ - "datacenter": "east", + datacenterLabel: datacenterEast, } } @@ -159,7 +163,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p11 := buildTestPodWithNormalOwnerRef("p11", nodeName2, nil) p12 := buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { pod.Spec.NodeSelector = map[string]string{ - "datacenter": "west", + datacenterLabel: datacenterWest, } }) From c68e8a6d0692b4616eec1a53f939e9ba494bab8d Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:52:59 +0100 Subject: [PATCH 42/59] refactor(node_taint_test): add withTestTaintXToleration1 helper --- .../removepodsviolatingnodetaints/node_taint_test.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 6e32872d4..c4e67a999 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -130,6 +130,10 @@ func withTestTaintToleration1(pod *v1.Pod) { addTolerationToPod(pod, "testTaint", "test", 1, v1.TaintEffectNoSchedule) } +func withTestTaintXToleration1(pod *v1.Pod) { + addTolerationToPod(pod, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) +} + func withLocalStorageVolume(pod *v1.Pod) { pod.Spec.Volumes = []v1.Volume{ { @@ -148,9 +152,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p1 := buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1) p2 := buildTestPodWithNormalOwnerRef("p2", nodeName1, nil) p3 := buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1) - p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, func(pod *v1.Pod) { - addTolerationToPod(pod, "testTaintX", "testX", 1, v1.TaintEffectNoSchedule) - }) + p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, withTestTaintXToleration1) p5 := buildTestPodWithNormalOwnerRef("p5", nodeName1, nil) p6 := buildTestPodWithNormalOwnerRef("p6", nodeName1, nil) p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, func(pod *v1.Pod) { From b472549cf665bc298f8dfd05731c48c1dedd2205 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:54:53 +0100 Subject: [PATCH 43/59] refactor(node_taint_test): add withKubeSystemCriticalPod helper --- .../removepodsviolatingnodetaints/node_taint_test.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index c4e67a999..4697d9f56 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -148,6 +148,11 @@ func withLocalStorageVolume(pod *v1.Pod) { } } +func withKubeSystemCriticalPod(pod *v1.Pod) { + pod.Namespace = "kube-system" + test.SetPodPriority(pod, utils.SystemCriticalPriority) +} + func TestDeletePodsViolatingNodeTaints(t *testing.T) { p1 := buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1) p2 := buildTestPodWithNormalOwnerRef("p2", nodeName1, nil) @@ -155,10 +160,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, withTestTaintXToleration1) p5 := buildTestPodWithNormalOwnerRef("p5", nodeName1, nil) p6 := buildTestPodWithNormalOwnerRef("p6", nodeName1, nil) - p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, func(pod *v1.Pod) { - pod.Namespace = "kube-system" - test.SetPodPriority(pod, utils.SystemCriticalPriority) - }) + p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod) p8 := buildTestPod("p8", nodeName2, test.SetDSOwnerRef) p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume) p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation) From 51bcf60ccf0ca59e9212f5f0d2ac2fd50d16203e Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 17:58:08 +0100 Subject: [PATCH 44/59] refactor(node_taint_test): inline p1 --- .../node_taint_test.go | 71 +++++++++++++++---- 1 file changed, 58 insertions(+), 13 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 4697d9f56..b2363450b 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p1 := buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1) p2 := buildTestPodWithNormalOwnerRef("p2", nodeName1, nil) p3 := buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1) p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, withTestTaintXToleration1) @@ -209,7 +208,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }{ { description: "Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p2, p3}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p2, + p3, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -217,7 +220,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods with tolerations but not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p3, p4}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p3, + p4, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -225,7 +232,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Only number of Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p5, p6}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p5, + p6, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -235,7 +246,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Only number of Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p5, p6}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p5, + p6, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -244,7 +259,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Only number of Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p5, p6}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p5, + p6, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -253,7 +272,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Only number of Pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p1, p5, p6}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p5, + p6, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -297,7 +320,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pod p2 doesn't tolerate taint on it's node, but also doesn't tolerate taints on other nodes", - pods: []*v1.Pod{p1, p2, p3}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p2, + p3, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), buildTestNode(nodeName2, withTestingTaint1), @@ -307,7 +334,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pod p12 doesn't tolerate taint on it's node, but other nodes don't match it's selector", - pods: []*v1.Pod{p1, p3, p12}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p3, + p12, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), buildTestNode(nodeName3, withDatacenterEastLabel), @@ -317,7 +348,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pod p2 doesn't tolerate taint on it's node, but other nodes are unschedulable", - pods: []*v1.Pod{p1, p2, p3}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p2, + p3, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), buildTestNode(nodeName4, withUnschedulable), @@ -382,7 +417,9 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods tolerating included taints should not get evicted even with other taints present", - pods: []*v1.Pod{p1}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + }, nodes: []*v1.Node{ buildTestNode(nodeName7, withBothTaints1), }, @@ -391,7 +428,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods not tolerating not included taints should not get evicted", - pods: []*v1.Pod{p1, p2, p4}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p2, + p4, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -400,7 +441,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods tolerating includedTaint should not get evicted. Pods not tolerating includedTaints should get evicted", - pods: []*v1.Pod{p1, p2, p3}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), + p2, + p3, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, From 060d9c8573de639317473dec89ffe7de0cacee37 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:00:48 +0100 Subject: [PATCH 45/59] refactor(node_taint_test): inline p2 --- .../node_taint_test.go | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index b2363450b..b4fa88a5d 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p2 := buildTestPodWithNormalOwnerRef("p2", nodeName1, nil) p3 := buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1) p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, withTestTaintXToleration1) p5 := buildTestPodWithNormalOwnerRef("p5", nodeName1, nil) @@ -210,7 +209,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating node taint should be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p2, + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), p3, }, nodes: []*v1.Node{ @@ -310,7 +309,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Critical and non critical pods, pods not tolerating node taint should be evicted even if they are critical", - pods: []*v1.Pod{p2, p7, p9, p10}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), + p7, + p9, + p10, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), buildTestNode(nodeName2, withTestingTaint1), @@ -322,7 +326,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pod p2 doesn't tolerate taint on it's node, but also doesn't tolerate taints on other nodes", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p2, + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), p3, }, nodes: []*v1.Node{ @@ -350,7 +354,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pod p2 doesn't tolerate taint on it's node, but other nodes are unschedulable", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p2, + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), p3, }, nodes: []*v1.Node{ @@ -379,7 +383,9 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods not tolerating excluded node taints (by key) should not be evicted", - pods: []*v1.Pod{p2}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -388,7 +394,9 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods not tolerating excluded node taints (by key and value) should not be evicted", - pods: []*v1.Pod{p2}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -397,7 +405,9 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "The excluded taint matches the key of node1's taint, but does not match the value", - pods: []*v1.Pod{p2}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), }, @@ -406,7 +416,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Critical and non critical pods, pods not tolerating node taint can't be evicted because the only available node does not have enough resources.", - pods: []*v1.Pod{p2, p7, p9, p10}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), + p7, + p9, + p10, + }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), test.BuildTestNode(nodeName6, 1, 1, 1, withPreferNoScheduleTestTaint1), @@ -430,7 +445,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating not included taints should not get evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p2, + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), p4, }, nodes: []*v1.Node{ @@ -443,7 +458,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods tolerating includedTaint should not get evicted. Pods not tolerating includedTaints should get evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p2, + buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), p3, }, nodes: []*v1.Node{ From c1cd3ae7942b9226148064d7c13ff64ce4c88514 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:01:25 +0100 Subject: [PATCH 46/59] refactor(node_taint_test): inline p3 --- .../node_taint_test.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index b4fa88a5d..62490c424 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p3 := buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1) p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, withTestTaintXToleration1) p5 := buildTestPodWithNormalOwnerRef("p5", nodeName1, nil) p6 := buildTestPodWithNormalOwnerRef("p6", nodeName1, nil) @@ -210,7 +209,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), - p3, + buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), @@ -221,7 +220,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods with tolerations but not tolerating node taint should be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p3, + buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1), p4, }, nodes: []*v1.Node{ @@ -327,7 +326,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), - p3, + buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), @@ -340,7 +339,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pod p12 doesn't tolerate taint on it's node, but other nodes don't match it's selector", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p3, + buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1), p12, }, nodes: []*v1.Node{ @@ -355,7 +354,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), - p3, + buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), @@ -459,7 +458,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), - p3, + buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), From 032db38d6c22c3d6256e57a19526c3988e4988d4 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:01:55 +0100 Subject: [PATCH 47/59] refactor(node_taint_test): inline p4 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 62490c424..3f3d21ff3 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p4 := buildTestPodWithNormalOwnerRef("p4", nodeName1, withTestTaintXToleration1) p5 := buildTestPodWithNormalOwnerRef("p5", nodeName1, nil) p6 := buildTestPodWithNormalOwnerRef("p6", nodeName1, nil) p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod) @@ -221,7 +220,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1), - p4, + buildTestPodWithNormalOwnerRef("p4", nodeName1, withTestTaintXToleration1), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), @@ -445,7 +444,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), - p4, + buildTestPodWithNormalOwnerRef("p4", nodeName1, withTestTaintXToleration1), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), From c46817f6dffb8cacc9693a2d156b7f88dc96b610 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:02:29 +0100 Subject: [PATCH 48/59] refactor(node_taint_test): inline p5 --- .../removepodsviolatingnodetaints/node_taint_test.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 3f3d21ff3..96e431dd9 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p5 := buildTestPodWithNormalOwnerRef("p5", nodeName1, nil) p6 := buildTestPodWithNormalOwnerRef("p6", nodeName1, nil) p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod) p8 := buildTestPod("p8", nodeName2, test.SetDSOwnerRef) @@ -231,7 +230,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p5, + buildTestPodWithNormalOwnerRef("p5", nodeName1, nil), p6, }, nodes: []*v1.Node{ @@ -245,7 +244,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p5, + buildTestPodWithNormalOwnerRef("p5", nodeName1, nil), p6, }, nodes: []*v1.Node{ @@ -258,7 +257,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p5, + buildTestPodWithNormalOwnerRef("p5", nodeName1, nil), p6, }, nodes: []*v1.Node{ @@ -271,7 +270,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Only number of Pods not tolerating node taint should be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), - p5, + buildTestPodWithNormalOwnerRef("p5", nodeName1, nil), p6, }, nodes: []*v1.Node{ From cb595f25246a6a3dc21070708c91c4d985bcebff Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:02:53 +0100 Subject: [PATCH 49/59] refactor(node_taint_test): inline p6 --- .../removepodsviolatingnodetaints/node_taint_test.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 96e431dd9..01b11dc60 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p6 := buildTestPodWithNormalOwnerRef("p6", nodeName1, nil) p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod) p8 := buildTestPod("p8", nodeName2, test.SetDSOwnerRef) p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume) @@ -231,7 +230,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p5", nodeName1, nil), - p6, + buildTestPodWithNormalOwnerRef("p6", nodeName1, nil), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), @@ -245,7 +244,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p5", nodeName1, nil), - p6, + buildTestPodWithNormalOwnerRef("p6", nodeName1, nil), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), @@ -258,7 +257,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p5", nodeName1, nil), - p6, + buildTestPodWithNormalOwnerRef("p6", nodeName1, nil), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), @@ -271,7 +270,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p5", nodeName1, nil), - p6, + buildTestPodWithNormalOwnerRef("p6", nodeName1, nil), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), From ffb1f441443b51ffbbc911e833b99563c46a66aa Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:05:50 +0100 Subject: [PATCH 50/59] refactor(node_taint_test): inline p7 --- .../node_taint_test.go | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 01b11dc60..4f3f717cc 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p7 := buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod) p8 := buildTestPod("p8", nodeName2, test.SetDSOwnerRef) p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume) p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation) @@ -280,7 +279,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Critical pods not tolerating node taint should not be evicted", - pods: []*v1.Pod{p7, p8, p9, p10}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), + p8, + p9, + p10, + }, nodes: []*v1.Node{ buildTestNode(nodeName2, withTestingTaint1), }, @@ -288,7 +292,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Critical pods except storage pods not tolerating node taint should not be evicted", - pods: []*v1.Pod{p7, p8, p9, p10}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), + p8, + p9, + p10, + }, nodes: []*v1.Node{ buildTestNode(nodeName2, withTestingTaint1), }, @@ -297,7 +306,12 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Critical and non critical pods, only non critical pods not tolerating node taint should be evicted", - pods: []*v1.Pod{p7, p8, p10, p11}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), + p8, + p10, + p11, + }, nodes: []*v1.Node{ buildTestNode(nodeName2, withTestingTaint1), }, @@ -307,7 +321,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Critical and non critical pods, pods not tolerating node taint should be evicted even if they are critical", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), - p7, + buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), p9, p10, }, @@ -414,7 +428,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Critical and non critical pods, pods not tolerating node taint can't be evicted because the only available node does not have enough resources.", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), - p7, + buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), p9, p10, }, From e09bd976f5d07aae3c69504afab2f3e7a5143605 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:06:37 +0100 Subject: [PATCH 51/59] refactor(node_taint_test): inline p8 --- .../removepodsviolatingnodetaints/node_taint_test.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 4f3f717cc..bdf5b76be 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p8 := buildTestPod("p8", nodeName2, test.SetDSOwnerRef) p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume) p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation) p11 := buildTestPodWithNormalOwnerRef("p11", nodeName2, nil) @@ -281,7 +280,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Critical pods not tolerating node taint should not be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), - p8, + buildTestPod("p8", nodeName2, test.SetDSOwnerRef), p9, p10, }, @@ -294,7 +293,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Critical pods except storage pods not tolerating node taint should not be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), - p8, + buildTestPod("p8", nodeName2, test.SetDSOwnerRef), p9, p10, }, @@ -308,7 +307,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Critical and non critical pods, only non critical pods not tolerating node taint should be evicted", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), - p8, + buildTestPod("p8", nodeName2, test.SetDSOwnerRef), p10, p11, }, From 7e40aae2dc64d896e696286a8b39ea1e3a88ba24 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:07:35 +0100 Subject: [PATCH 52/59] refactor(node_taint_test): inline p9 --- .../removepodsviolatingnodetaints/node_taint_test.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index bdf5b76be..c5fc37d25 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p9 := buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume) p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation) p11 := buildTestPodWithNormalOwnerRef("p11", nodeName2, nil) p12 := buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { @@ -281,7 +280,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), buildTestPod("p8", nodeName2, test.SetDSOwnerRef), - p9, + buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume), p10, }, nodes: []*v1.Node{ @@ -294,7 +293,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), buildTestPod("p8", nodeName2, test.SetDSOwnerRef), - p9, + buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume), p10, }, nodes: []*v1.Node{ @@ -321,7 +320,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), - p9, + buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume), p10, }, nodes: []*v1.Node{ @@ -428,7 +427,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), - p9, + buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume), p10, }, nodes: []*v1.Node{ From c1ad532c46e9aaf638f64d0e5b54eff86469bb44 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:08:43 +0100 Subject: [PATCH 53/59] refactor(node_taint_test): inline p10 --- .../removepodsviolatingnodetaints/node_taint_test.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index c5fc37d25..b8505610d 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p10 := buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation) p11 := buildTestPodWithNormalOwnerRef("p11", nodeName2, nil) p12 := buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { pod.Spec.NodeSelector = map[string]string{ @@ -281,7 +280,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), buildTestPod("p8", nodeName2, test.SetDSOwnerRef), buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume), - p10, + buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation), }, nodes: []*v1.Node{ buildTestNode(nodeName2, withTestingTaint1), @@ -294,7 +293,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), buildTestPod("p8", nodeName2, test.SetDSOwnerRef), buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume), - p10, + buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation), }, nodes: []*v1.Node{ buildTestNode(nodeName2, withTestingTaint1), @@ -307,7 +306,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), buildTestPod("p8", nodeName2, test.SetDSOwnerRef), - p10, + buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation), p11, }, nodes: []*v1.Node{ @@ -321,7 +320,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume), - p10, + buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), @@ -428,7 +427,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { buildTestPodWithNormalOwnerRef("p2", nodeName1, nil), buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), buildTestPodWithNormalOwnerRef("p9", nodeName2, withLocalStorageVolume), - p10, + buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), From 50b6e178c199d9141cf8346c846e0c86bf6a448d Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:09:22 +0100 Subject: [PATCH 54/59] refactor(node_taint_test): inline p11 --- .../plugins/removepodsviolatingnodetaints/node_taint_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index b8505610d..d86484962 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,7 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p11 := buildTestPodWithNormalOwnerRef("p11", nodeName2, nil) p12 := buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { pod.Spec.NodeSelector = map[string]string{ datacenterLabel: datacenterWest, @@ -307,7 +306,7 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { buildTestPodWithNormalOwnerRef("p7", nodeName2, withKubeSystemCriticalPod), buildTestPod("p8", nodeName2, test.SetDSOwnerRef), buildTestPodWithNormalOwnerRef("p10", nodeName2, test.SetMirrorPodAnnotation), - p11, + buildTestPodWithNormalOwnerRef("p11", nodeName2, nil), }, nodes: []*v1.Node{ buildTestNode(nodeName2, withTestingTaint1), From 5fdf3685939e901c567f9f187ed23e71b953a3de Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:09:58 +0100 Subject: [PATCH 55/59] refactor(node_taint_test): inline p12 --- .../removepodsviolatingnodetaints/node_taint_test.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index d86484962..0bbece49c 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,12 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - p12 := buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { - pod.Spec.NodeSelector = map[string]string{ - datacenterLabel: datacenterWest, - } - }) - // The following 4 pods won't get evicted. // A Critical Pod. // A daemonset. @@ -347,7 +341,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p1", nodeName1, withTestTaintToleration1), buildTestPodWithNormalOwnerRef("p3", nodeName1, withTestTaintToleration1), - p12, + buildTestPodWithNormalOwnerRef("p11", nodeName2, func(pod *v1.Pod) { + pod.Spec.NodeSelector = map[string]string{ + datacenterLabel: datacenterWest, + } + }), }, nodes: []*v1.Node{ buildTestNode(nodeName1, withTestTaint1), From 1f7bd1fba9faaaf9899d9a684e2baedfe3a7b167 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:10:44 +0100 Subject: [PATCH 56/59] refactor(node_taint_test): inline p13 --- .../node_taint_test.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 0bbece49c..2a629a063 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -162,9 +162,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated - p13 := buildTestPodWithNormalOwnerRef("p13", nodeName5, func(pod *v1.Pod) { - addTolerationToPod(pod, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) - }) p14 := buildTestPodWithNormalOwnerRef("p14", nodeName7, withTestTaintToleration1) @@ -370,7 +367,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods not tolerating PreferNoSchedule node taint should not be evicted when not enabled", - pods: []*v1.Pod{p13}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p13", nodeName5, func(pod *v1.Pod) { + addTolerationToPod(pod, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) + }), + }, nodes: []*v1.Node{ buildTestNode(nodeName5, withPreferNoScheduleTestTaint1), }, @@ -378,7 +379,11 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods not tolerating PreferNoSchedule node taint should be evicted when enabled", - pods: []*v1.Pod{p13}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p13", nodeName5, func(pod *v1.Pod) { + addTolerationToPod(pod, "testTaint", "test", 0, v1.TaintEffectPreferNoSchedule) + }), + }, nodes: []*v1.Node{ buildTestNode(nodeName5, withPreferNoScheduleTestTaint1), }, From 956eeefede45928b0fe789ffa391dd2580e4ce1a Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:11:19 +0100 Subject: [PATCH 57/59] refactor(node_taint_test): inline p14 --- .../removepodsviolatingnodetaints/node_taint_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 2a629a063..43023358c 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -163,8 +163,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated - p14 := buildTestPodWithNormalOwnerRef("p14", nodeName7, withTestTaintToleration1) - p15 := buildTestPodWithNormalOwnerRef("p15", nodeName7, func(pod *v1.Pod) { withTestTaintToleration1(pod) addTolerationToPod(pod, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) @@ -478,7 +476,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { }, { description: "Pods not tolerating all taints are evicted when includedTaints is empty", - pods: []*v1.Pod{p14, p15}, + pods: []*v1.Pod{ + buildTestPodWithNormalOwnerRef("p14", nodeName7, withTestTaintToleration1), + p15, + }, nodes: []*v1.Node{ buildTestNode(nodeName7, withBothTaints1), }, From 78788d72dedc335c8c9bc36201582f89ae9c818c Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:11:55 +0100 Subject: [PATCH 58/59] refactor(node_taint_test): inline p15 --- .../removepodsviolatingnodetaints/node_taint_test.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index 43023358c..e518100c6 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -163,11 +163,6 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated - p15 := buildTestPodWithNormalOwnerRef("p15", nodeName7, func(pod *v1.Pod) { - withTestTaintToleration1(pod) - addTolerationToPod(pod, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) - }) - var uint1, uint2 uint = 1, 2 tests := []struct { @@ -478,7 +473,10 @@ func TestDeletePodsViolatingNodeTaints(t *testing.T) { description: "Pods not tolerating all taints are evicted when includedTaints is empty", pods: []*v1.Pod{ buildTestPodWithNormalOwnerRef("p14", nodeName7, withTestTaintToleration1), - p15, + buildTestPodWithNormalOwnerRef("p15", nodeName7, func(pod *v1.Pod) { + withTestTaintToleration1(pod) + addTolerationToPod(pod, "testingTaint", "testing", 1, v1.TaintEffectNoSchedule) + }), }, nodes: []*v1.Node{ buildTestNode(nodeName7, withBothTaints1), From 162a2d14b72ea9ab842e26fe23fe86fa326110a0 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Mon, 15 Dec 2025 18:20:38 +0100 Subject: [PATCH 59/59] refactor(TestRemovePodsHavingTooManyRestarts): remove leftover comments --- .../removepodsviolatingnodetaints/node_taint_test.go | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go index e518100c6..9dc8b1306 100644 --- a/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go +++ b/pkg/framework/plugins/removepodsviolatingnodetaints/node_taint_test.go @@ -154,15 +154,6 @@ func withKubeSystemCriticalPod(pod *v1.Pod) { } func TestDeletePodsViolatingNodeTaints(t *testing.T) { - // The following 4 pods won't get evicted. - // A Critical Pod. - // A daemonset. - // A pod with local storage. - // A Mirror Pod. - - // node5 has PreferNoSchedule:testTaint1=test1, so the p13 has to have - // PreferNoSchedule:testTaint0=test0 so the pod is not tolarated - var uint1, uint2 uint = 1, 2 tests := []struct {