mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 12:43:23 +00:00
Merge pull request #72537 from mortent/FixEvictionsFlake
Fix flaking evictions test
This commit is contained in:
commit
34ca1301da
@ -86,7 +86,7 @@ func TestConcurrentEvictionRequests(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
waitToObservePods(t, informers.Core().V1().Pods().Informer(), numOfEvictions)
|
waitToObservePods(t, informers.Core().V1().Pods().Informer(), numOfEvictions, v1.PodRunning)
|
||||||
|
|
||||||
pdb := newPDB()
|
pdb := newPDB()
|
||||||
if _, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).Create(pdb); err != nil {
|
if _, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).Create(pdb); err != nil {
|
||||||
@ -193,18 +193,21 @@ func TestTerminalPodEviction(t *testing.T) {
|
|||||||
if _, err := clientSet.CoreV1().Pods(ns.Name).Create(pod); err != nil {
|
if _, err := clientSet.CoreV1().Pods(ns.Name).Create(pod); err != nil {
|
||||||
t.Errorf("Failed to create pod: %v", err)
|
t.Errorf("Failed to create pod: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
addPodConditionSucceeded(pod)
|
addPodConditionSucceeded(pod)
|
||||||
if _, err := clientSet.CoreV1().Pods(ns.Name).UpdateStatus(pod); err != nil {
|
if _, err := clientSet.CoreV1().Pods(ns.Name).UpdateStatus(pod); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
waitToObservePods(t, informers.Core().V1().Pods().Informer(), 1)
|
waitToObservePods(t, informers.Core().V1().Pods().Informer(), 1, v1.PodSucceeded)
|
||||||
|
|
||||||
pdb := newPDB()
|
pdb := newPDB()
|
||||||
if _, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).Create(pdb); err != nil {
|
if _, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).Create(pdb); err != nil {
|
||||||
t.Errorf("Failed to create PodDisruptionBudget: %v", err)
|
t.Errorf("Failed to create PodDisruptionBudget: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
waitPDBStable(t, clientSet, 1, ns.Name, pdb.Name)
|
||||||
|
|
||||||
pdbList, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).List(metav1.ListOptions{})
|
pdbList, err := clientSet.Policy().PodDisruptionBudgets(ns.Name).List(metav1.ListOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Error while listing pod disruption budget")
|
t.Fatalf("Error while listing pod disruption budget")
|
||||||
@ -341,13 +344,19 @@ func rmSetup(t *testing.T) (*httptest.Server, framework.CloseFunc, *disruption.D
|
|||||||
// wait for the podInformer to observe the pods. Call this function before
|
// wait for the podInformer to observe the pods. Call this function before
|
||||||
// running the RS controller to prevent the rc manager from creating new pods
|
// running the RS controller to prevent the rc manager from creating new pods
|
||||||
// rather than adopting the existing ones.
|
// rather than adopting the existing ones.
|
||||||
func waitToObservePods(t *testing.T, podInformer cache.SharedIndexInformer, podNum int) {
|
func waitToObservePods(t *testing.T, podInformer cache.SharedIndexInformer, podNum int, phase v1.PodPhase) {
|
||||||
if err := wait.PollImmediate(2*time.Second, 60*time.Second, func() (bool, error) {
|
if err := wait.PollImmediate(2*time.Second, 60*time.Second, func() (bool, error) {
|
||||||
objects := podInformer.GetIndexer().List()
|
objects := podInformer.GetIndexer().List()
|
||||||
if len(objects) == podNum {
|
if len(objects) != podNum {
|
||||||
return true, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
return false, nil
|
for _, obj := range objects {
|
||||||
|
pod := obj.(*v1.Pod)
|
||||||
|
if pod.Status.Phase != phase {
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true, nil
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user