diff --git a/test/e2e/mpi_job_test.go b/test/e2e/mpi_job_test.go index 729ed58f..a279337a 100644 --- a/test/e2e/mpi_job_test.go +++ b/test/e2e/mpi_job_test.go @@ -23,6 +23,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/onsi/ginkgo" "github.com/onsi/gomega" + batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/resource" @@ -185,6 +186,9 @@ var _ = ginkgo.Describe("MPIJob", func() { gomega.Expect(condition).To(gomega.BeNil()) condition = getJobCondition(mpiJob, kubeflow.JobSucceeded) gomega.Expect(condition).To(gomega.BeNil()) + launcherJob, err := getLauncherJob(ctx, mpiJob) + gomega.Expect(err).To(gomega.BeNil()) + gomega.Expect(launcherJob).To(gomega.BeNil()) launcherPods, err := getLauncherPods(ctx, mpiJob) gomega.Expect(err).To(gomega.BeNil()) gomega.Expect(len(launcherPods.Items)).To(gomega.Equal(0)) @@ -681,6 +685,19 @@ func getJobCondition(mpiJob *kubeflow.MPIJob, condType kubeflow.JobConditionType return nil } +func getLauncherJob(ctx context.Context, mpiJob *kubeflow.MPIJob) (*batchv1.Job, error) { + result, err := k8sClient.BatchV1().Jobs(mpiJob.Namespace).List(ctx, metav1.ListOptions{}) + if err != nil { + return nil, err + } + for _, j := range result.Items { + if metav1.IsControlledBy(&j, mpiJob) { + return &j, nil + } + } + return nil, nil +} + func createMPIJobWithOpenMPI(mpiJob *kubeflow.MPIJob) { mpiJob.Spec.MPIReplicaSpecs[kubeflow.MPIReplicaTypeLauncher].Template.Spec.Containers = []corev1.Container{ { diff --git a/test/integration/mpi_job_controller_test.go b/test/integration/mpi_job_controller_test.go index c9ba71ca..9e0b18e5 100644 --- a/test/integration/mpi_job_controller_test.go +++ b/test/integration/mpi_job_controller_test.go @@ -891,13 +891,13 @@ func TestMPIJobManagedExternally(t *testing.T) { if mpiJobHasCondition(mpiJob, kubeflow.JobCreated) { t.Errorf("MPIJob shouldn't have any condition") } - // 4. No Pods or Services created - pods, err := getPodsForJob(ctx, s.kClient, mpiJob) + // 4. No Jobs or Services created + lp, err := getLauncherJobForMPIJob(ctx, s.kClient, mpiJob) if err != nil { - t.Fatalf("Failed getting pods for the job: %v", err) + t.Fatalf("Failed getting launcher jobs: %v", err) } - if len(pods) > 0 { - t.Fatalf("There should be no pods from job: %v", pods) + if lp != nil { + t.Fatalf("There should be no launcher jobs from job: %v", lp) } svcs, err := getServiceForJob(ctx, s.kClient, mpiJob) if err != nil {