diff --git a/test/e2e/framework/job/BUILD b/test/e2e/framework/job/BUILD index e635a7ee0d6..f4468ebbae1 100644 --- a/test/e2e/framework/job/BUILD +++ b/test/e2e/framework/job/BUILD @@ -11,7 +11,6 @@ go_library( importpath = "k8s.io/kubernetes/test/e2e/framework/job", visibility = ["//visibility:public"], deps = [ - "//pkg/controller/job:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", diff --git a/test/e2e/framework/job/wait.go b/test/e2e/framework/job/wait.go index 96d8544caf8..563f1781289 100644 --- a/test/e2e/framework/job/wait.go +++ b/test/e2e/framework/job/wait.go @@ -20,12 +20,12 @@ import ( "context" "time" + batchv1 "k8s.io/api/batch/v1" "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" clientset "k8s.io/client-go/kubernetes" - jobutil "k8s.io/kubernetes/pkg/controller/job" "k8s.io/kubernetes/test/e2e/framework" ) @@ -65,10 +65,21 @@ func WaitForJobFinish(c clientset.Interface, ns, jobName string) error { if err != nil { return false, err } - return jobutil.IsJobFinished(curr), nil + + return isJobFinished(curr), nil }) } +func isJobFinished(j *batchv1.Job) bool { + for _, c := range j.Status.Conditions { + if (c.Type == batchv1.JobComplete || c.Type == batchv1.JobFailed) && c.Status == v1.ConditionTrue { + return true + } + } + + return false +} + // WaitForJobGone uses c to wait for up to timeout for the Job named jobName in namespace ns to be removed. func WaitForJobGone(c clientset.Interface, ns, jobName string, timeout time.Duration) error { return wait.Poll(framework.Poll, timeout, func() (bool, error) {