Skip to content

Commit 6da4054

Browse files
authored
Merge pull request kubernetes#92706 from nodo/scheduler-integration-test-add-labels-cleanup
Create nodes with labels instead of adding them later
2 parents 47a9952 + a759fb2 commit 6da4054

File tree

4 files changed

+25
-69
lines changed

4 files changed

+25
-69
lines changed

test/integration/scheduler/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ go_test(
5858
"//staging/src/k8s.io/kube-scheduler/extender/v1:go_default_library",
5959
"//test/integration/framework:go_default_library",
6060
"//test/integration/util:go_default_library",
61-
"//test/utils:go_default_library",
6261
"//test/utils/image:go_default_library",
6362
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
6463
"//vendor/k8s.io/klog/v2:go_default_library",

test/integration/scheduler/predicates_test.go

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929
"k8s.io/client-go/kubernetes"
3030
st "k8s.io/kubernetes/pkg/scheduler/testing"
3131
testutils "k8s.io/kubernetes/test/integration/util"
32-
"k8s.io/kubernetes/test/utils"
3332
imageutils "k8s.io/kubernetes/test/utils/image"
3433
)
3534

@@ -871,22 +870,14 @@ func TestEvenPodsSpreadPredicate(t *testing.T) {
871870
cs := testCtx.ClientSet
872871
ns := testCtx.NS.Name
873872
defer testutils.CleanupTest(t, testCtx)
874-
// Add 4 nodes.
875-
nodes, err := createNodes(cs, "node", st.MakeNode(), 4)
876-
if err != nil {
877-
t.Fatalf("Cannot create nodes: %v", err)
878-
}
879-
for i, node := range nodes {
880-
// Apply labels "zone: zone-{0,1}" and "node: <node name>" to each node.
881-
labels := map[string]string{
882-
"zone": fmt.Sprintf("zone-%d", i/2),
883-
"node": node.Name,
884-
}
885-
if err = utils.AddLabelsToNode(cs, node.Name, labels); err != nil {
886-
t.Fatalf("Cannot add labels to node: %v", err)
887-
}
888-
if err = waitForNodeLabels(cs, node.Name, labels); err != nil {
889-
t.Fatalf("Failed to poll node labels: %v", err)
873+
874+
for i := 0; i < 4; i++ {
875+
// Create nodes with labels "zone: zone-{0,1}" and "node: <node name>" to each node.
876+
nodeName := fmt.Sprintf("node-%d", i)
877+
zone := fmt.Sprintf("zone-%d", i/2)
878+
_, err := createNode(cs, st.MakeNode().Name(nodeName).Label("node", nodeName).Label("zone", zone).Obj())
879+
if err != nil {
880+
t.Fatalf("Cannot create node: %v", err)
890881
}
891882
}
892883

test/integration/scheduler/priorities_test.go

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import (
2828
"k8s.io/apimachinery/pkg/util/wait"
2929
st "k8s.io/kubernetes/pkg/scheduler/testing"
3030
testutils "k8s.io/kubernetes/test/integration/util"
31-
"k8s.io/kubernetes/test/utils"
3231
imageutils "k8s.io/kubernetes/test/utils/image"
3332
)
3433

@@ -40,23 +39,18 @@ func TestNodeAffinity(t *testing.T) {
4039
testCtx := initTest(t, "node-affinity")
4140
defer testutils.CleanupTest(t, testCtx)
4241
// Add a few nodes.
43-
nodes, err := createNodes(testCtx.ClientSet, "testnode", st.MakeNode(), 5)
42+
_, err := createNodes(testCtx.ClientSet, "testnode", st.MakeNode(), 4)
4443
if err != nil {
4544
t.Fatalf("Cannot create nodes: %v", err)
4645
}
4746
// Add a label to one of the nodes.
48-
labeledNode := nodes[1]
4947
labelKey := "kubernetes.io/node-topologyKey"
5048
labelValue := "topologyvalue"
51-
labels := map[string]string{
52-
labelKey: labelValue,
53-
}
54-
if err = utils.AddLabelsToNode(testCtx.ClientSet, labeledNode.Name, labels); err != nil {
55-
t.Fatalf("Cannot add labels to node: %v", err)
56-
}
57-
if err = waitForNodeLabels(testCtx.ClientSet, labeledNode.Name, labels); err != nil {
58-
t.Fatalf("Adding labels to node didn't succeed: %v", err)
49+
labeledNode, err := createNode(testCtx.ClientSet, st.MakeNode().Name("testnode-4").Label(labelKey, labelValue).Obj())
50+
if err != nil {
51+
t.Fatalf("Cannot create labeled node: %v", err)
5952
}
53+
6054
// Create a pod with node affinity.
6155
podName := "pod-with-node-affinity"
6256
pod, err := runPausePod(testCtx.ClientSet, initPausePod(&pausePodConfig{
@@ -234,23 +228,17 @@ func TestEvenPodsSpreadPriority(t *testing.T) {
234228
cs := testCtx.ClientSet
235229
ns := testCtx.NS.Name
236230
defer testutils.CleanupTest(t, testCtx)
237-
// Add 4 nodes.
238-
nodes, err := createNodes(cs, "node", st.MakeNode(), 4)
239-
if err != nil {
240-
t.Fatalf("Cannot create nodes: %v", err)
241-
}
242-
for i, node := range nodes {
243-
// Apply labels "zone: zone-{0,1}" and "node: <node name>" to each node.
244-
labels := map[string]string{
245-
"zone": fmt.Sprintf("zone-%d", i/2),
246-
"node": node.Name,
247-
}
248-
if err = utils.AddLabelsToNode(cs, node.Name, labels); err != nil {
249-
t.Fatalf("Cannot add labels to node: %v", err)
250-
}
251-
if err = waitForNodeLabels(cs, node.Name, labels); err != nil {
252-
t.Fatalf("Adding labels to node failed: %v", err)
231+
232+
var nodes []*v1.Node
233+
for i := 0; i < 4; i++ {
234+
// Create nodes with labels "zone: zone-{0,1}" and "node: <node name>" to each node.
235+
nodeName := fmt.Sprintf("node-%d", i)
236+
zone := fmt.Sprintf("zone-%d", i/2)
237+
node, err := createNode(cs, st.MakeNode().Name(nodeName).Label("node", nodeName).Label("zone", zone).Obj())
238+
if err != nil {
239+
t.Fatalf("Cannot create node: %v", err)
253240
}
241+
nodes = append(nodes, node)
254242
}
255243

256244
// Taint the 0th node
@@ -259,10 +247,10 @@ func TestEvenPodsSpreadPriority(t *testing.T) {
259247
Value: "v1",
260248
Effect: v1.TaintEffectNoSchedule,
261249
}
262-
if err = testutils.AddTaintToNode(cs, nodes[0].Name, taint); err != nil {
250+
if err := testutils.AddTaintToNode(cs, nodes[0].Name, taint); err != nil {
263251
t.Fatalf("Adding taint to node failed: %v", err)
264252
}
265-
if err = testutils.WaitForNodeTaints(cs, nodes[0], []v1.Taint{taint}); err != nil {
253+
if err := testutils.WaitForNodeTaints(cs, nodes[0], []v1.Taint{taint}); err != nil {
266254
t.Fatalf("Taint not seen on node: %v", err)
267255
}
268256

test/integration/scheduler/util.go

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -126,28 +126,6 @@ func waitForReflection(t *testing.T, nodeLister corelisters.NodeLister, key stri
126126
return err
127127
}
128128

129-
// nodeHasLabels returns a function that checks if a node has all the given labels.
130-
func nodeHasLabels(cs clientset.Interface, nodeName string, labels map[string]string) wait.ConditionFunc {
131-
return func() (bool, error) {
132-
node, err := cs.CoreV1().Nodes().Get(context.TODO(), nodeName, metav1.GetOptions{})
133-
if err != nil {
134-
// This could be a connection error so we want to retry.
135-
return false, nil
136-
}
137-
for k, v := range labels {
138-
if node.Labels == nil || node.Labels[k] != v {
139-
return false, nil
140-
}
141-
}
142-
return true, nil
143-
}
144-
}
145-
146-
// waitForNodeLabels waits for the given node to have all the given labels.
147-
func waitForNodeLabels(cs clientset.Interface, nodeName string, labels map[string]string) error {
148-
return wait.Poll(time.Millisecond*100, wait.ForeverTestTimeout, nodeHasLabels(cs, nodeName, labels))
149-
}
150-
151129
func createNode(cs clientset.Interface, node *v1.Node) (*v1.Node, error) {
152130
return cs.CoreV1().Nodes().Create(context.TODO(), node, metav1.CreateOptions{})
153131
}

0 commit comments

Comments
 (0)