mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
Merge pull request #68820 from soltysh/cronjob_e2e_flake
Wait for events instead of just checking them in cronjob e2e
This commit is contained in:
commit
48689a9e3a
@ -180,8 +180,8 @@ var _ = SIGDescribe("CronJob", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
By("Ensuring no unexpected event has happened")
|
By("Ensuring no unexpected event has happened")
|
||||||
err = checkNoEventWithReason(f.ClientSet, f.Namespace.Name, cronJob.Name, []string{"MissingJob", "UnexpectedJob"})
|
err = waitForEventWithReason(f.ClientSet, f.Namespace.Name, cronJob.Name, []string{"MissingJob", "UnexpectedJob"})
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).To(HaveOccurred())
|
||||||
|
|
||||||
By("Removing cronjob")
|
By("Removing cronjob")
|
||||||
err = deleteCronJob(f.ClientSet, f.Namespace.Name, cronJob.Name)
|
err = deleteCronJob(f.ClientSet, f.Namespace.Name, cronJob.Name)
|
||||||
@ -219,8 +219,8 @@ var _ = SIGDescribe("CronJob", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
By("Ensuring MissingJob event has occurred")
|
By("Ensuring MissingJob event has occurred")
|
||||||
err = checkNoEventWithReason(f.ClientSet, f.Namespace.Name, cronJob.Name, []string{"MissingJob"})
|
err = waitForEventWithReason(f.ClientSet, f.Namespace.Name, cronJob.Name, []string{"MissingJob"})
|
||||||
Expect(err).To(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
By("Removing cronjob")
|
By("Removing cronjob")
|
||||||
err = deleteCronJob(f.ClientSet, f.Namespace.Name, cronJob.Name)
|
err = deleteCronJob(f.ClientSet, f.Namespace.Name, cronJob.Name)
|
||||||
@ -426,24 +426,26 @@ func waitForAnyFinishedJob(c clientset.Interface, ns string) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// checkNoEventWithReason checks no events with a reason within a list has occurred
|
// waitForEventWithReason waits for events with a reason within a list has occurred
|
||||||
func checkNoEventWithReason(c clientset.Interface, ns, cronJobName string, reasons []string) error {
|
func waitForEventWithReason(c clientset.Interface, ns, cronJobName string, reasons []string) error {
|
||||||
sj, err := c.BatchV1beta1().CronJobs(ns).Get(cronJobName, metav1.GetOptions{})
|
return wait.Poll(framework.Poll, 30*time.Second, func() (bool, error) {
|
||||||
if err != nil {
|
sj, err := c.BatchV1beta1().CronJobs(ns).Get(cronJobName, metav1.GetOptions{})
|
||||||
return fmt.Errorf("Error in getting cronjob %s/%s: %v", ns, cronJobName, err)
|
if err != nil {
|
||||||
}
|
return false, err
|
||||||
events, err := c.CoreV1().Events(ns).Search(legacyscheme.Scheme, sj)
|
}
|
||||||
if err != nil {
|
events, err := c.CoreV1().Events(ns).Search(legacyscheme.Scheme, sj)
|
||||||
return fmt.Errorf("Error in listing events: %s", err)
|
if err != nil {
|
||||||
}
|
return false, err
|
||||||
for _, e := range events.Items {
|
}
|
||||||
for _, reason := range reasons {
|
for _, e := range events.Items {
|
||||||
if e.Reason == reason {
|
for _, reason := range reasons {
|
||||||
return fmt.Errorf("Found event with reason %s: %#v", reason, e)
|
if e.Reason == reason {
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
return false, nil
|
||||||
return nil
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// filterNotDeletedJobs returns the job list without any jobs that are pending
|
// filterNotDeletedJobs returns the job list without any jobs that are pending
|
||||||
|
Loading…
Reference in New Issue
Block a user