Skip to content

Commit 34ca130

Browse files
authored
Merge pull request kubernetes#72537 from mortent/FixEvictionsFlake
Fix flaking evictions test
2 parents 65c8452 + 4b3078f commit 34ca130

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

test/integration/evictions/evictions_test.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func TestConcurrentEvictionRequests(t *testing.T) {
8686
}
8787
}
8888

89-
waitToObservePods(t, informers.Core().V1().Pods().Informer(), numOfEvictions)
89+
waitToObservePods(t, informers.Core().V1().Pods().Informer(), numOfEvictions, v1.PodRunning)
9090

9191
pdb := newPDB()
9292
if _, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).Create(pdb); err != nil {
@@ -193,18 +193,21 @@ func TestTerminalPodEviction(t *testing.T) {
193193
if _, err := clientSet.CoreV1().Pods(ns.Name).Create(pod); err != nil {
194194
t.Errorf("Failed to create pod: %v", err)
195195
}
196+
196197
addPodConditionSucceeded(pod)
197198
if _, err := clientSet.CoreV1().Pods(ns.Name).UpdateStatus(pod); err != nil {
198199
t.Fatal(err)
199200
}
200201

201-
waitToObservePods(t, informers.Core().V1().Pods().Informer(), 1)
202+
waitToObservePods(t, informers.Core().V1().Pods().Informer(), 1, v1.PodSucceeded)
202203

203204
pdb := newPDB()
204205
if _, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).Create(pdb); err != nil {
205206
t.Errorf("Failed to create PodDisruptionBudget: %v", err)
206207
}
207208

209+
waitPDBStable(t, clientSet, 1, ns.Name, pdb.Name)
210+
208211
pdbList, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).List(metav1.ListOptions{})
209212
if err != nil {
210213
t.Fatalf("Error while listing pod disruption budget")
@@ -341,13 +344,19 @@ func rmSetup(t *testing.T) (*httptest.Server, framework.CloseFunc, *disruption.D
341344
// wait for the podInformer to observe the pods. Call this function before
342345
// running the RS controller to prevent the rc manager from creating new pods
343346
// rather than adopting the existing ones.
344-
func waitToObservePods(t *testing.T, podInformer cache.SharedIndexInformer, podNum int) {
347+
func waitToObservePods(t *testing.T, podInformer cache.SharedIndexInformer, podNum int, phase v1.PodPhase) {
345348
if err := wait.PollImmediate(2*time.Second, 60*time.Second, func() (bool, error) {
346349
objects := podInformer.GetIndexer().List()
347-
if len(objects) == podNum {
348-
return true, nil
350+
if len(objects) != podNum {
351+
return false, nil
349352
}
350-
return false, nil
353+
for _, obj := range objects {
354+
pod := obj.(*v1.Pod)
355+
if pod.Status.Phase != phase {
356+
return false, nil
357+
}
358+
}
359+
return true, nil
351360
}); err != nil {
352361
t.Fatal(err)
353362
}

0 commit comments

Comments
 (0)