@@ -21,6 +21,13 @@ import (
21
21
22
22
"github.com/onsi/gomega"
23
23
"github.com/project-codeflare/codeflare-common/support"
24
+
25
+ corev1 "k8s.io/api/core/v1"
26
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
27
+ "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
28
+ "k8s.io/apimachinery/pkg/runtime"
29
+ "sigs.k8s.io/controller-runtime/pkg/client"
30
+ kueue "sigs.k8s.io/kueue/apis/kueue/v1beta1"
24
31
)
25
32
26
33
//go:embed *.py *.txt *.sh
@@ -32,3 +39,21 @@ func ReadFile(t support.Test, fileName string) []byte {
32
39
t .Expect (err ).NotTo (gomega .HaveOccurred ())
33
40
return file
34
41
}
42
+
43
+ func EnsureLocalQueue (t support.Test , namespace * corev1.Namespace ) * kueue.LocalQueue {
44
+ t .T ().Helper ()
45
+
46
+ lq := & kueue.LocalQueue {
47
+ TypeMeta : metav1.TypeMeta {APIVersion : kueue .GroupVersion .String (), Kind : "LocalQueue" },
48
+ ObjectMeta : metav1.ObjectMeta {Name : "e2e-test-queue" , Namespace : namespace .Name },
49
+ Spec : kueue.LocalQueueSpec {ClusterQueue : kueue .ClusterQueueReference ("e2e-cluster-queue" )},
50
+ }
51
+ localQueueResource := kueue .GroupVersion .WithResource ("localqueues" )
52
+ lqMap , err := runtime .DefaultUnstructuredConverter .ToUnstructured (lq )
53
+ t .Expect (err ).NotTo (gomega .HaveOccurred ())
54
+ unstruct := unstructured.Unstructured {Object : lqMap }
55
+ _ , err = t .Client ().Dynamic ().Resource (localQueueResource ).Namespace (namespace .Name ).Create (t .Ctx (), & unstruct , metav1.CreateOptions {})
56
+ t .Expect (client .IgnoreAlreadyExists (err )).NotTo (gomega .HaveOccurred ())
57
+
58
+ return lq
59
+ }
0 commit comments