1
0
mirror of https://github.com/kubernetes-sigs/descheduler.git synced 2026-01-28 22:57:35 +01:00

List nodes through informer in every iteration

Also, refactor the code a bit so it can be tested without checking for eviction support.
This commit is contained in:
Jan Chaloupka
2020-03-03 16:31:46 +01:00
parent df510187d6
commit 9593ce16d9
5 changed files with 155 additions and 50 deletions

View File

@@ -21,6 +21,7 @@ import (
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/informers"
"k8s.io/client-go/kubernetes/fake"
"sigs.k8s.io/descheduler/test"
)
@@ -62,7 +63,16 @@ func TestReadyNodesWithNodeSelector(t *testing.T) {
fakeClient := fake.NewSimpleClientset(node1, node2)
nodeSelector := "type=compute"
nodes, _ := ReadyNodes(fakeClient, nodeSelector, nil)
sharedInformerFactory := informers.NewSharedInformerFactory(fakeClient, 0)
nodeInformer := sharedInformerFactory.Core().V1().Nodes()
stopChannel := make(chan struct{}, 0)
sharedInformerFactory.Start(stopChannel)
sharedInformerFactory.WaitForCacheSync(stopChannel)
defer close(stopChannel)
nodes, _ := ReadyNodes(fakeClient, nodeInformer, nodeSelector, nil)
if nodes[0].Name != "node1" {
t.Errorf("Expected node1, got %s", nodes[0].Name)