Skip to content

Commit 03f0475

Browse files
committed
Add Complete reason verification to all e2e conformance tests
Signed-off-by: Yuki Iwai <[email protected]>
1 parent 749f03a commit 03f0475

File tree

2 files changed

+15
-20
lines changed

2 files changed

+15
-20
lines changed

test/e2e/apps/job.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ var _ = SIGDescribe("Job", func() {
8585
framework.ExpectNoError(err, "failed to create job in namespace: %s", f.Namespace.Name)
8686

8787
ginkgo.By("Ensuring job reaches completions")
88-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, ptr.To(batchv1.JobReasonCompletionsReached), completions)
88+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, completions)
8989
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
9090

9191
ginkgo.By("Ensuring pods for job exist")
@@ -182,7 +182,7 @@ var _ = SIGDescribe("Job", func() {
182182
framework.ExpectNoError(err, "failed to create job in namespace: %s", f.Namespace.Name)
183183

184184
ginkgo.By("Ensuring job reaches completions")
185-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, nil, completions)
185+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, completions)
186186
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
187187
})
188188

@@ -260,7 +260,7 @@ var _ = SIGDescribe("Job", func() {
260260
})
261261

262262
ginkgo.By("Ensuring job reaches completions")
263-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, nil, completions)
263+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, completions)
264264
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
265265
})
266266

@@ -292,7 +292,7 @@ var _ = SIGDescribe("Job", func() {
292292
framework.ExpectNoError(err, "failed to update job in namespace: %s", f.Namespace.Name)
293293

294294
ginkgo.By("Waiting for job to complete")
295-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, ptr.To(batchv1.JobReasonCompletionsReached), completions)
295+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, completions)
296296
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
297297
})
298298

@@ -417,7 +417,7 @@ done`}
417417
framework.ExpectNoError(err, "failed to create indexed job in namespace %s", f.Namespace.Name)
418418

419419
ginkgo.By("Ensuring job reaches completions")
420-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, nil, completions)
420+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, completions)
421421
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
422422

423423
ginkgo.By("Ensuring pods with index for job exist")
@@ -458,7 +458,7 @@ done`}
458458
framework.ExpectNoError(err, "failed to create indexed job in namespace %s", f.Namespace.Name)
459459

460460
ginkgo.By("Ensuring job reaches completions")
461-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, nil, completions)
461+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, completions)
462462
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
463463

464464
ginkgo.By("Ensuring all pods have the required index labels")
@@ -502,7 +502,7 @@ done`}
502502
framework.ExpectNoError(err, "failed to ensure that job has SuccessCriteriaMet with SuccessPolicy reason condition")
503503

504504
ginkgo.By("Ensure that the job reaches completions")
505-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, ptr.To(batchv1.JobReasonSuccessPolicy), completions)
505+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonSuccessPolicy, completions)
506506
framework.ExpectNoError(err, "failed to ensure that job completed")
507507

508508
ginkgo.By("Verifying that the job status to ensure correct final state")
@@ -541,7 +541,7 @@ done`}
541541
framework.ExpectNoError(err, "failed to ensure that job has SuccessCriteriaMet with SuccessPolicy reason condition")
542542

543543
ginkgo.By("Ensure that the job reaches completions")
544-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, ptr.To(batchv1.JobReasonSuccessPolicy), 1)
544+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonSuccessPolicy, 1)
545545
framework.ExpectNoError(err, "failed to ensure that job completed")
546546

547547
ginkgo.By("Verifying that the only appropriately index succeeded")
@@ -580,7 +580,7 @@ done`}
580580
framework.ExpectNoError(err, "failed to ensure that the job has SuccessCriteriaMet condition with SuccessPolicy rule")
581581

582582
ginkgo.By("Ensure that the job reaches completions")
583-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, ptr.To(batchv1.JobReasonSuccessPolicy), 1)
583+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonSuccessPolicy, 1)
584584
framework.ExpectNoError(err, "failed to ensure that job completed")
585585

586586
ginkgo.By("Verifying that the job status to ensure correct final state")
@@ -809,7 +809,7 @@ done`}
809809
framework.ExpectNoError(err, "failed to create job in namespace: %s", f.Namespace.Name)
810810

811811
ginkgo.By("Ensuring job reaches completions")
812-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, nil, completions)
812+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, completions)
813813
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
814814
})
815815

@@ -840,7 +840,7 @@ done`}
840840
framework.ExpectNoError(err, "failed to ensure job has the interim success condition: %s", f.Namespace.Name)
841841

842842
ginkgo.By("Ensuring job reaches completions")
843-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, ptr.To(batchv1.JobReasonCompletionsReached), *job.Spec.Completions)
843+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, *job.Spec.Completions)
844844
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
845845

846846
ginkgo.By("Verifying the Job status fields to ensure correct final state")
@@ -1035,7 +1035,7 @@ done`}
10351035
framework.ExpectNoError(err, "failed to create job in namespace: %s", f.Namespace.Name)
10361036

10371037
ginkgo.By("Ensuring job reaches completions")
1038-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, ptr.To(batchv1.JobReasonCompletionsReached), completions)
1038+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, f.Namespace.Name, job.Name, batchv1.JobReasonCompletionsReached, completions)
10391039
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", f.Namespace.Name)
10401040

10411041
ginkgo.By("Ensuring pods for job exist")
@@ -1241,7 +1241,7 @@ done`}
12411241
framework.Logf("Job: %v as labels: %v", testJob.Name, testJob.Labels)
12421242

12431243
ginkgo.By("Waiting for job to complete")
1244-
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, ns, jobName, nil, completions)
1244+
err = e2ejob.WaitForJobComplete(ctx, f.ClientSet, ns, jobName, batchv1.JobReasonCompletionsReached, completions)
12451245
framework.ExpectNoError(err, "failed to ensure job completion in namespace: %s", ns)
12461246

12471247
ginkgo.By("Delete a job collection with a labelselector")

test/e2e/framework/job/wait.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,7 @@ func waitForJobPodsInPhase(ctx context.Context, c clientset.Interface, ns, jobNa
8787
// WaitForJobComplete uses c to wait for completions to complete for the Job jobName in namespace ns.
8888
// This function checks if the number of succeeded Job Pods reached expected completions and
8989
// the Job has a "Complete" condition with the expected reason.
90-
// The pointer "reason" argument allows us to skip "Complete" condition reason verifications.
91-
// The conformance test cases have the different expected "Complete" condition reason ("CompletionsReached" vs "")
92-
// between conformance CI jobs and e2e CI jobs since the e2e conformance test cases are performed in
93-
// both conformance CI jobs with GA-only features and e2e CI jobs with all default-enabled features.
94-
// So, we need to skip "Complete" condition reason verifications in the e2e conformance test cases.
95-
func WaitForJobComplete(ctx context.Context, c clientset.Interface, ns, jobName string, reason *string, completions int32) error {
90+
func WaitForJobComplete(ctx context.Context, c clientset.Interface, ns, jobName string, reason string, completions int32) error {
9691
// This function is called by HandleRetry, which will retry
9792
// on transient API errors or stop polling in the case of other errors.
9893
get := func(ctx context.Context) (*batchv1.Job, error) {
@@ -121,7 +116,7 @@ func WaitForJobComplete(ctx context.Context, c clientset.Interface, ns, jobName
121116
if err != nil {
122117
return err
123118
}
124-
return WaitForJobCondition(ctx, c, ns, jobName, batchv1.JobComplete, reason)
119+
return WaitForJobCondition(ctx, c, ns, jobName, batchv1.JobComplete, &reason)
125120
}
126121

127122
// WaitForJobReady waits for particular value of the Job .status.ready field

0 commit comments

Comments
 (0)