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"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
. "k8s.io/autoscaler/cluster-autoscaler/utils/test"
|
||||||
|
|
||||||
apiv1 "k8s.io/api/core/v1"
|
apiv1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo"
|
schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
var snapshots = map[string]func() ClusterSnapshot{
|
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