add test case for deleting & re-adding node after fork
This commit is contained in:
parent
b71bbe135b
commit
cf7d7b4032
|
|
@ -20,10 +20,13 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
. "k8s.io/autoscaler/cluster-autoscaler/utils/test"
|
||||
|
||||
apiv1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
var snapshots = map[string]func() ClusterSnapshot{
|
||||
|
|
@ -181,3 +184,42 @@ func TestForkRemovePods(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func extractNodes(nodeInfos []*schedulernodeinfo.NodeInfo) []*apiv1.Node {
|
||||
nodes := []*apiv1.Node{}
|
||||
for _, ni := range nodeInfos {
|
||||
nodes = append(nodes, ni.Node())
|
||||
}
|
||||
return nodes
|
||||
}
|
||||
|
||||
func TestReAddNode(t *testing.T) {
|
||||
for name, snapshotFactory := range snapshots {
|
||||
t.Run(fmt.Sprintf("%s: re-add node", name),
|
||||
func(t *testing.T) {
|
||||
snapshot := snapshotFactory()
|
||||
|
||||
node := BuildTestNode("node", 10, 100)
|
||||
err := snapshot.AddNode(node)
|
||||
assert.NoError(t, err)
|
||||
|
||||
err = snapshot.Fork()
|
||||
assert.NoError(t, err)
|
||||
|
||||
err = snapshot.RemoveNode("node")
|
||||
assert.NoError(t, err)
|
||||
|
||||
err = snapshot.AddNode(node)
|
||||
assert.NoError(t, err)
|
||||
|
||||
forkNodes, err := snapshot.NodeInfos().List()
|
||||
assert.NoError(t, err)
|
||||
assert.ElementsMatch(t, []*apiv1.Node{node}, extractNodes(forkNodes))
|
||||
|
||||
err = snapshot.Commit()
|
||||
committedNodes, err := snapshot.NodeInfos().List()
|
||||
assert.NoError(t, err)
|
||||
assert.ElementsMatch(t, []*apiv1.Node{node}, extractNodes(committedNodes))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue