Skip to content

Commit 9295a8e

Browse files
update kueue resource creation flow to create resources using unique name for avoiding naming conflicts and to execute tests parallely
1 parent f3cae1a commit 9295a8e

File tree

3 files changed

+73
-53
lines changed

3 files changed

+73
-53
lines changed

tests/e2e/mnist_raycluster_sdk_aw_kind_test.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ def test_mnist_ray_cluster_sdk_kind(self):
2525
create_namespace(self)
2626
create_kueue_resources(self)
2727
self.run_mnist_raycluster_sdk_kind()
28-
self.teardown_method()
2928

3029
def run_mnist_raycluster_sdk_kind(self):
3130
ray_image = get_ray_image()

tests/e2e/mnist_raycluster_sdk_kind_test.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def test_mnist_ray_cluster_sdk_kind(self):
2626
create_namespace(self)
2727
create_kueue_resources(self)
2828
self.run_mnist_raycluster_sdk_kind()
29-
self.teardown_method()
3029

3130
def run_mnist_raycluster_sdk_kind(self):
3231
ray_image = get_ray_image()

tests/e2e/support.py

Lines changed: 73 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,21 @@ def create_namespace(self):
2525
self.api_instance.create_namespace(namespace_body)
2626

2727

28+
def create_new_resource_flavor(self):
29+
self.resource_flavor = f"test-resource-flavor-{random_choice()}"
30+
create_resource_flavor(self, self.resource_flavor)
31+
32+
33+
def create_new_cluster_queue(self):
34+
self.cluster_queue = f"test-cluster-queue-{random_choice()}"
35+
create_cluster_queue(self, self.cluster_queue, self.resource_flavor)
36+
37+
38+
def create_new_local_queue(self):
39+
self.local_queue = f"test-local-queue-{random_choice()}"
40+
create_local_queue(self, self.cluster_queue, self.local_queue)
41+
42+
2843
def create_namespace_with_name(self, namespace_name):
2944
self.namespace = namespace_name
3045
try:
@@ -59,24 +74,7 @@ def run_oc_command(args):
5974
return None
6075

6176

62-
# Global variables for kueue resources
63-
cluster_queue = "cluster-queue-mnist"
64-
flavor = "default-flavor-mnist"
65-
local_queue = "local-queue-mnist"
66-
67-
68-
def create_kueue_resources(
69-
self,
70-
cluster_queue=cluster_queue,
71-
flavor=flavor,
72-
local_queue=local_queue,
73-
):
74-
print("creating Kueue resources ...")
75-
resource_flavor_json = {
76-
"apiVersion": "kueue.x-k8s.io/v1beta1",
77-
"kind": "ResourceFlavor",
78-
"metadata": {"name": flavor},
79-
}
77+
def create_cluster_queue(self, cluster_queue, flavor):
8078
cluster_queue_json = {
8179
"apiVersion": "kueue.x-k8s.io/v1beta1",
8280
"kind": "ClusterQueue",
@@ -100,54 +98,69 @@ def create_kueue_resources(
10098
],
10199
},
102100
}
103-
local_queue_json = {
104-
"apiVersion": "kueue.x-k8s.io/v1beta1",
105-
"kind": "LocalQueue",
106-
"metadata": {
107-
"namespace": self.namespace,
108-
"name": local_queue,
109-
"annotations": {"kueue.x-k8s.io/default-queue": "true"},
110-
},
111-
"spec": {"clusterQueue": cluster_queue},
112-
}
113101

114102
try:
115-
# Check if resource flavor exists
103+
# Check if cluster-queue exists
116104
self.custom_api.get_cluster_custom_object(
117105
group="kueue.x-k8s.io",
118-
plural="resourceflavors",
106+
plural="clusterqueues",
119107
version="v1beta1",
120-
name=flavor,
108+
name=cluster_queue,
121109
)
122-
print(f"'{flavor}' already exists")
110+
print(f"'{cluster_queue}' already exists")
123111
except:
124-
# create kueue resource flavor
112+
# create cluster-queue
125113
self.custom_api.create_cluster_custom_object(
126114
group="kueue.x-k8s.io",
127-
plural="resourceflavors",
115+
plural="clusterqueues",
128116
version="v1beta1",
129-
body=resource_flavor_json,
117+
body=cluster_queue_json,
130118
)
131-
print(f"'{flavor}' created!")
119+
print(f"'{cluster_queue}' created")
120+
121+
self.cluster_queue = cluster_queue
122+
123+
124+
def create_resource_flavor(self, flavor):
125+
resource_flavor_json = {
126+
"apiVersion": "kueue.x-k8s.io/v1beta1",
127+
"kind": "ResourceFlavor",
128+
"metadata": {"name": flavor},
129+
}
132130

133131
try:
134-
# Check if cluster-queue exists
132+
# Check if resource flavor exists
135133
self.custom_api.get_cluster_custom_object(
136134
group="kueue.x-k8s.io",
137-
plural="clusterqueues",
135+
plural="resourceflavors",
138136
version="v1beta1",
139-
name=cluster_queue,
137+
name=flavor,
140138
)
141-
print(f"'{cluster_queue}' already exists")
139+
print(f"'{flavor}' already exists")
142140
except:
143-
# create cluster-queue
141+
# create kueue resource flavor
144142
self.custom_api.create_cluster_custom_object(
145143
group="kueue.x-k8s.io",
146-
plural="clusterqueues",
144+
plural="resourceflavors",
147145
version="v1beta1",
148-
body=cluster_queue_json,
146+
body=resource_flavor_json,
149147
)
150-
print(f"'{cluster_queue}' created")
148+
print(f"'{flavor}' created!")
149+
150+
self.resource_flavor = flavor
151+
152+
153+
def create_local_queue(self, cluster_queue, local_queue):
154+
local_queue_json = {
155+
"apiVersion": "kueue.x-k8s.io/v1beta1",
156+
"kind": "LocalQueue",
157+
"metadata": {
158+
"namespace": self.namespace,
159+
"name": local_queue,
160+
"annotations": {"kueue.x-k8s.io/default-queue": "true"},
161+
},
162+
"spec": {"clusterQueue": cluster_queue},
163+
}
151164

152165
try:
153166
# Check if local-queue exists in given namespace
@@ -170,28 +183,37 @@ def create_kueue_resources(
170183
)
171184
print(f"'{local_queue}' created in namespace '{self.namespace}'")
172185

186+
self.local_queue = local_queue
187+
173188

174-
def delete_kueue_resources(self, cluster_queue=cluster_queue, flavor=flavor):
189+
def create_kueue_resources(self):
190+
print("creating Kueue resources ...")
191+
create_new_resource_flavor(self)
192+
create_new_cluster_queue(self)
193+
create_new_local_queue(self)
194+
195+
196+
def delete_kueue_resources(self):
175197
# Delete if given cluster-queue exists
176198
try:
177199
self.custom_api.delete_cluster_custom_object(
178200
group="kueue.x-k8s.io",
179201
plural="clusterqueues",
180202
version="v1beta1",
181-
name=cluster_queue,
203+
name=self.cluster_queue,
182204
)
183-
print(f"\n'{cluster_queue}' cluster-queue deleted")
205+
print(f"\n'{self.cluster_queue}' cluster-queue deleted")
184206
except Exception as e:
185-
print(f"\nError deleting cluster-queue '{cluster_queue}' : {e}")
207+
print(f"\nError deleting cluster-queue '{self.cluster_queue}' : {e}")
186208

187209
# Delete if given resource-flavor exists
188210
try:
189211
self.custom_api.delete_cluster_custom_object(
190212
group="kueue.x-k8s.io",
191213
plural="resourceflavors",
192214
version="v1beta1",
193-
name=flavor,
215+
name=self.resource_flavor,
194216
)
195-
print(f"'{flavor}' resource-flavor deleted")
217+
print(f"'{self.resource_flavor}' resource-flavor deleted")
196218
except Exception as e:
197-
print(f"\nError deleting resource-flavor '{flavor}' : {e}")
219+
print(f"\nError deleting resource-flavor '{self.resource_flavor}' : {e}")

0 commit comments

Comments
 (0)