node labels and taints do not change, node events are ignored in daemonset controller

Signed-off-by: xigang <wangxigang2014@gmail.com>
This commit is contained in:
xigang
2023-11-01 16:40:36 +08:00
parent 515d1ce6c0
commit 6b3476b79f
2 changed files with 46 additions and 37 deletions

View File

@@ -3580,3 +3580,43 @@ func TestStoreDaemonSetStatus(t *testing.T) {
})
}
}
func TestShouldIgnoreNodeUpdate(t *testing.T) {
cases := []struct {
name string
newNode *v1.Node
oldNode *v1.Node
expectedResult bool
}{
{
name: "Nothing changed",
oldNode: newNode("node1", nil),
newNode: newNode("node1", nil),
expectedResult: true,
},
{
name: "Node labels changed",
oldNode: newNode("node1", nil),
newNode: newNode("node1", simpleNodeLabel),
expectedResult: false,
},
{
name: "Node taints changed",
oldNode: func() *v1.Node {
node := newNode("node1", nil)
setNodeTaint(node, noScheduleTaints)
return node
}(),
newNode: newNode("node1", nil),
expectedResult: false,
},
}
for _, c := range cases {
result := shouldIgnoreNodeUpdate(*c.oldNode, *c.newNode)
if result != c.expectedResult {
t.Errorf("[%s] unexpected results: %v", c.name, result)
}
}
}