Skip to content

Commit 92b4440

Browse files
Fix pod creation len test error.
1 parent 77ef17e commit 92b4440

2 files changed

Lines changed: 307 additions & 272 deletions

File tree

test/e2e/singlecluster/baseline/pod_test.go

Lines changed: 0 additions & 272 deletions
Original file line numberDiff line numberDiff line change
@@ -36,28 +36,9 @@ import (
3636
"sigs.k8s.io/kueue/pkg/controller/jobframework"
3737
"sigs.k8s.io/kueue/pkg/controller/jobs/pod"
3838
podconstants "sigs.k8s.io/kueue/pkg/controller/jobs/pod/constants"
39-
"sigs.k8s.io/kueue/pkg/features"
4039
utiltesting "sigs.k8s.io/kueue/pkg/util/testing"
4140
utiltestingapi "sigs.k8s.io/kueue/pkg/util/testing/v1beta2"
42-
testingappwrapper "sigs.k8s.io/kueue/pkg/util/testingjobs/appwrapper"
43-
testingdeployment "sigs.k8s.io/kueue/pkg/util/testingjobs/deployment"
44-
testingjaxjob "sigs.k8s.io/kueue/pkg/util/testingjobs/jaxjob"
45-
testingjob "sigs.k8s.io/kueue/pkg/util/testingjobs/job"
46-
testingjobset "sigs.k8s.io/kueue/pkg/util/testingjobs/jobset"
47-
testingleaderworkerset "sigs.k8s.io/kueue/pkg/util/testingjobs/leaderworkerset"
48-
testingmpijob "sigs.k8s.io/kueue/pkg/util/testingjobs/mpijob"
49-
testingpaddlejob "sigs.k8s.io/kueue/pkg/util/testingjobs/paddlejob"
5041
podtesting "sigs.k8s.io/kueue/pkg/util/testingjobs/pod"
51-
testingpytorchjob "sigs.k8s.io/kueue/pkg/util/testingjobs/pytorchjob"
52-
testingraycluster "sigs.k8s.io/kueue/pkg/util/testingjobs/raycluster"
53-
testingrayjob "sigs.k8s.io/kueue/pkg/util/testingjobs/rayjob"
54-
testingrayservice "sigs.k8s.io/kueue/pkg/util/testingjobs/rayservice"
55-
testingsparkapplication "sigs.k8s.io/kueue/pkg/util/testingjobs/sparkapplication"
56-
testingstatefulset "sigs.k8s.io/kueue/pkg/util/testingjobs/statefulset"
57-
testingtfjob "sigs.k8s.io/kueue/pkg/util/testingjobs/tfjob"
58-
testingtrainjob "sigs.k8s.io/kueue/pkg/util/testingjobs/trainjob"
59-
testingxgboostjob "sigs.k8s.io/kueue/pkg/util/testingjobs/xgboostjob"
60-
"sigs.k8s.io/kueue/pkg/workload"
6142
"sigs.k8s.io/kueue/test/util"
6243
)
6344

@@ -641,261 +622,8 @@ var _ = ginkgo.Describe("Pod groups", ginkgo.Label("area:singlecluster", "featur
641622
g.Expect(k8sClient.Get(ctx, pKey, &corev1.Pod{})).To(utiltesting.BeNotFoundError())
642623
}, util.Timeout, util.Interval).Should(gomega.Succeed())
643624

644-
gKey := client.ObjectKey{Namespace: ns.Name, Name: "test-group"}
645-
util.ExpectWorkloadsFinalizedOrGone(ctx, k8sClient, gKey)
646625
})
647626
})
648627
})
649628
})
650629

651-
var _ = ginkgo.Describe("Pod labels", ginkgo.Label("area:singlecluster", "feature:pod", "feature:scheduler-library"), func() {
652-
var ns *corev1.Namespace
653-
var lq *kueue.LocalQueue
654-
var cq *kueue.ClusterQueue
655-
656-
ginkgo.BeforeEach(func() {
657-
features.SetFeatureGateDuringTest(ginkgo.GinkgoTB(), features.SchedulerLibraryIntegration, true)
658-
ns = util.CreateNamespaceFromPrefixWithLog(ctx, k8sClient, "e2e-scheduler-lib-")
659-
660-
rf := utiltestingapi.MakeResourceFlavor("rf").Obj()
661-
util.MustCreate(ctx, k8sClient, rf)
662-
663-
cq = utiltestingapi.MakeClusterQueue("cq").
664-
ResourceGroup(*utiltestingapi.MakeFlavorQuotas("rf").Resource(corev1.ResourceCPU, "10").Obj()).
665-
Obj()
666-
util.MustCreate(ctx, k8sClient, cq)
667-
668-
lq = utiltestingapi.MakeLocalQueue("lq", ns.Name).ClusterQueue(cq.Name).Obj()
669-
util.MustCreate(ctx, k8sClient, lq)
670-
})
671-
672-
ginkgo.AfterEach(func() {
673-
gomega.Expect(util.DeleteNamespace(ctx, k8sClient, ns)).To(gomega.Succeed())
674-
})
675-
676-
type jobConfig struct {
677-
name string
678-
createObj func(nsName, queueName string) client.Object
679-
}
680-
681-
configs := []jobConfig{
682-
{
683-
name: "BatchJob",
684-
createObj: func(nsName, queueName string) client.Object {
685-
return testingjob.MakeJob("test-batch-job", nsName).
686-
Queue(kueue.LocalQueueName(queueName)).
687-
Image(util.GetAgnHostImage(), util.BehaviorWaitForDeletion).
688-
RequestAndLimit(corev1.ResourceCPU, "1").
689-
Obj()
690-
},
691-
},
692-
{
693-
name: "PodGroup",
694-
createObj: func(nsName, queueName string) client.Object {
695-
p := podtesting.MakePod("test-pod-0", nsName).
696-
Queue(queueName).
697-
Image(util.GetAgnHostImage(), util.BehaviorWaitForDeletion).
698-
RequestAndLimit(corev1.ResourceCPU, "1").
699-
Obj()
700-
pod.SetPodGroupName(p, "test-pod-group")
701-
p.Annotations[podconstants.GroupTotalCountAnnotation] = "1"
702-
return p
703-
},
704-
},
705-
{
706-
name: "StatefulSet",
707-
createObj: func(nsName, queueName string) client.Object {
708-
return testingstatefulset.MakeStatefulSet("test-sts", nsName).
709-
Queue(queueName).
710-
Image(util.GetAgnHostImage(), util.BehaviorWaitForDeletion).
711-
RequestAndLimit(corev1.ResourceCPU, "1").
712-
Replicas(1).
713-
Obj()
714-
},
715-
},
716-
{
717-
name: "Deployment",
718-
createObj: func(nsName, queueName string) client.Object {
719-
return testingdeployment.MakeDeployment("test-deploy", nsName).
720-
Queue(queueName).
721-
Image(util.GetAgnHostImage(), util.BehaviorWaitForDeletion).
722-
RequestAndLimit(corev1.ResourceCPU, "1").
723-
Replicas(1).
724-
Obj()
725-
},
726-
},
727-
{
728-
name: "JobSet",
729-
createObj: func(nsName, queueName string) client.Object {
730-
return testingjobset.MakeJobSet("test-jobset", nsName).
731-
Queue(queueName).
732-
ReplicatedJobs(testingjobset.ReplicatedJobRequirements{
733-
Name: "replicated-job",
734-
Replicas: 1,
735-
Parallelism: 1,
736-
Completions: 1,
737-
Image: util.GetAgnHostImage(),
738-
}).
739-
Obj()
740-
},
741-
},
742-
{
743-
name: "LeaderWorkerSet",
744-
createObj: func(nsName, queueName string) client.Object {
745-
return testingleaderworkerset.MakeLeaderWorkerSet("test-lws", nsName).
746-
Queue(queueName).
747-
Obj()
748-
},
749-
},
750-
{
751-
name: "PyTorchJob",
752-
createObj: func(nsName, queueName string) client.Object {
753-
return testingpytorchjob.MakePyTorchJob("test-pytorch", nsName).
754-
PyTorchReplicaSpecsDefault().
755-
Queue(queueName).
756-
Obj()
757-
},
758-
},
759-
{
760-
name: "TFJob",
761-
createObj: func(nsName, queueName string) client.Object {
762-
return testingtfjob.MakeTFJob("test-tf", nsName).
763-
TFReplicaSpecsDefault().
764-
Queue(queueName).
765-
Obj()
766-
},
767-
},
768-
{
769-
name: "MPIJob",
770-
createObj: func(nsName, queueName string) client.Object {
771-
return testingmpijob.MakeMPIJob("test-mpi", nsName).
772-
GenericLauncherAndWorker().
773-
Queue(queueName).
774-
Obj()
775-
},
776-
},
777-
{
778-
name: "PaddleJob",
779-
createObj: func(nsName, queueName string) client.Object {
780-
return testingpaddlejob.MakePaddleJob("test-paddle", nsName).
781-
Queue(queueName).
782-
Obj()
783-
},
784-
},
785-
{
786-
name: "XGBoostJob",
787-
createObj: func(nsName, queueName string) client.Object {
788-
return testingxgboostjob.MakeXGBoostJob("test-xgboost", nsName).
789-
Queue(queueName).
790-
Obj()
791-
},
792-
},
793-
{
794-
name: "JAXJob",
795-
createObj: func(nsName, queueName string) client.Object {
796-
return testingjaxjob.MakeJAXJob("test-jax", nsName).
797-
Queue(queueName).
798-
Obj()
799-
},
800-
},
801-
{
802-
name: "RayJob",
803-
createObj: func(nsName, queueName string) client.Object {
804-
return testingrayjob.MakeJob("test-rayjob", nsName).
805-
Queue(queueName).
806-
Obj()
807-
},
808-
},
809-
{
810-
name: "RayCluster",
811-
createObj: func(nsName, queueName string) client.Object {
812-
return testingraycluster.MakeCluster("test-raycluster", nsName).
813-
Queue(queueName).
814-
Obj()
815-
},
816-
},
817-
{
818-
name: "RayService",
819-
createObj: func(nsName, queueName string) client.Object {
820-
return testingrayservice.MakeService("test-rayservice", nsName).
821-
Queue(queueName).
822-
Obj()
823-
},
824-
},
825-
{
826-
name: "AppWrapper",
827-
createObj: func(nsName, queueName string) client.Object {
828-
return testingappwrapper.MakeAppWrapper("test-appwrapper", nsName).
829-
Queue(queueName).
830-
Obj()
831-
},
832-
},
833-
{
834-
name: "TrainJob",
835-
createObj: func(nsName, queueName string) client.Object {
836-
return testingtrainjob.MakeTrainJob("test-trainjob", nsName).
837-
Queue(queueName).
838-
Obj()
839-
},
840-
},
841-
{
842-
name: "SparkApplication",
843-
createObj: func(nsName, queueName string) client.Object {
844-
return testingsparkapplication.MakeSparkApplication("test-spark", nsName).
845-
Queue(queueName).
846-
Obj()
847-
},
848-
},
849-
}
850-
851-
for _, tc := range configs {
852-
ginkgo.It(fmt.Sprintf("Should admit %s and correctly match created pods using MatchPods", tc.name), func() {
853-
noisePod := podtesting.MakePod("noise-pod", ns.Name).
854-
Queue(lq.Name).
855-
Image(util.GetAgnHostImage(), util.BehaviorWaitForDeletion).
856-
RequestAndLimit(corev1.ResourceCPU, "1").
857-
Obj()
858-
pod.SetPodGroupName(noisePod, "noise-group")
859-
noisePod.Annotations[podconstants.GroupTotalCountAnnotation] = "1"
860-
util.MustCreate(ctx, k8sClient, noisePod)
861-
862-
obj := tc.createObj(ns.Name, lq.Name)
863-
util.MustCreate(ctx, k8sClient, obj)
864-
865-
var wlList kueue.WorkloadList
866-
gomega.Eventually(func(g gomega.Gomega) {
867-
g.Expect(k8sClient.List(ctx, &wlList, client.InNamespace(ns.Name))).To(gomega.Succeed())
868-
g.Expect(wlList.Items).To(gomega.HaveLen(2))
869-
}, util.Timeout, util.Interval).Should(gomega.Succeed())
870-
871-
var targetWl *kueue.Workload
872-
for i := range wlList.Items {
873-
if wlList.Items[i].Name != "noise-group" {
874-
targetWl = &wlList.Items[i]
875-
break
876-
}
877-
}
878-
gomega.Expect(targetWl).NotTo(gomega.BeNil(), "target workload should exist")
879-
util.ExpectWorkloadsToBeAdmittedByKeys(ctx, k8sClient, client.ObjectKeyFromObject(targetWl))
880-
881-
var podList corev1.PodList
882-
gomega.Eventually(func(g gomega.Gomega) {
883-
g.Expect(k8sClient.List(ctx, &podList, client.InNamespace(ns.Name))).To(gomega.Succeed())
884-
g.Expect(podList.Items).To(gomega.HaveLen(2))
885-
886-
var allPods []*corev1.Pod
887-
var targetPods []*corev1.Pod
888-
for i := range podList.Items {
889-
p := &podList.Items[i]
890-
allPods = append(allPods, p)
891-
if p.Name != "noise-pod" {
892-
targetPods = append(targetPods, p)
893-
}
894-
}
895-
896-
matched := workload.MatchPods(targetWl, allPods)
897-
g.Expect(matched).To(gomega.ConsistOf(targetPods), "MatchPods should return only target pods for workload %s", targetWl.Name)
898-
}, util.Timeout, util.Interval).Should(gomega.Succeed())
899-
})
900-
}
901-
})

0 commit comments

Comments
 (0)