Skip to content

Commit 511e958

Browse files
committed
remove priority/affinity from template -- not compatible with Kueue
1 parent e3dfd77 commit 511e958

File tree

4 files changed

+2
-113
lines changed

4 files changed

+2
-113
lines changed

src/codeflare_sdk/templates/base-template.yaml

-23
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ kind: AppWrapper
33
metadata:
44
name: aw-kuberay
55
namespace: default
6-
#new addition
7-
labels:
8-
orderedinstance: "m4.xlarge_g4dn.xlarge"
96
spec:
10-
priority: 9
117
resources:
128
Items: []
139
GenericItems:
@@ -103,16 +99,6 @@ spec:
10399
#pod template
104100
template:
105101
spec:
106-
#new addition
107-
affinity:
108-
nodeAffinity:
109-
requiredDuringSchedulingIgnoredDuringExecution:
110-
nodeSelectorTerms:
111-
- matchExpressions:
112-
- key: aw-kuberay
113-
operator: In
114-
values:
115-
- "aw-kuberay"
116102
containers:
117103
# The Ray head pod
118104
- name: ray-head
@@ -197,15 +183,6 @@ spec:
197183
# finalizers:
198184
# - kubernetes
199185
spec:
200-
affinity:
201-
nodeAffinity:
202-
requiredDuringSchedulingIgnoredDuringExecution:
203-
nodeSelectorTerms:
204-
- matchExpressions:
205-
- key: aw-kuberay
206-
operator: In
207-
values:
208-
- "aw-kuberay"
209186
containers:
210187
- name: machine-learning # must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc'
211188
image: quay.io/project-codeflare/ray:latest-py39-cu118

src/codeflare_sdk/utils/generate_yaml.py

-17
Original file line numberDiff line numberDiff line change
@@ -87,16 +87,6 @@ def update_names(yaml, item, appwrapper_name, cluster_name, namespace):
8787
lower_meta["namespace"] = namespace
8888

8989

90-
def update_labels(yaml, instance_types):
91-
metadata = yaml.get("metadata")
92-
metadata.pop("labels")
93-
94-
95-
def update_priority(yaml, item):
96-
spec = yaml.get("spec")
97-
spec.pop("priority")
98-
99-
10090
def update_custompodresources(
10191
item,
10292
min_cpu,
@@ -147,10 +137,6 @@ def update_custompodresources(
147137
sys.exit("Error: malformed template")
148138

149139

150-
def update_affinity(spec, appwrapper_name):
151-
spec.pop("affinity")
152-
153-
154140
def update_image(spec, image):
155141
containers = spec.get("containers")
156142
for container in containers:
@@ -219,7 +205,6 @@ def update_nodes(
219205

220206
for comp in [head, worker]:
221207
spec = comp.get("template").get("spec")
222-
update_affinity(spec, appwrapper_name)
223208
update_image_pull_secrets(spec, image_pull_secrets)
224209
update_image(spec, image)
225210
update_env(spec, env)
@@ -370,8 +355,6 @@ def generate_appwrapper(
370355
cluster_name,
371356
namespace,
372357
)
373-
update_labels(user_yaml, instance_types)
374-
update_priority(user_yaml, item)
375358
update_custompodresources(
376359
item,
377360
min_cpu,

tests/test-case-bad.yaml

-35
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ metadata:
66
nam: unit-test-cluster
77
namspace: ns
88
spec:
9-
priority: 9
109
resources:
1110
GenericItems:
1211
- custompodresources:
@@ -58,15 +57,6 @@ spec:
5857
serviceType: ClusterIP
5958
template:
6059
spec:
61-
affinity:
62-
nodeAffinity:
63-
requiredDuringSchedulingIgnoredDuringExecution:
64-
nodeSelectorTerms:
65-
- matchExpressions:
66-
- key: unit-test-cluster
67-
operator: In
68-
values:
69-
- unit-test-cluster
7060
containers:
7161
- env:
7262
- name: MY_POD_IP
@@ -115,15 +105,6 @@ spec:
115105
labels:
116106
key: value
117107
spec:
118-
affinity:
119-
nodeAffinity:
120-
requiredDuringSchedulingIgnoredDuringExecution:
121-
nodeSelectorTerms:
122-
- matchExpressions:
123-
- key: unit-test-cluster
124-
operator: In
125-
values:
126-
- unit-test-cluster
127108
containers:
128109
- env:
129110
- name: MY_POD_IP
@@ -149,19 +130,3 @@ spec:
149130
memory: 5G
150131
nvidia.com/gpu: 7
151132
replicas: 1
152-
- generictemplate:
153-
apiVersion: route.openshift.io/v1
154-
kind: Route
155-
metadata:
156-
labels:
157-
odh-ray-cluster-service: unit-test-cluster-head-svc
158-
name: ray-dashboard-unit-test-cluster
159-
namespace: ns
160-
spec:
161-
port:
162-
targetPort: dashboard
163-
to:
164-
kind: Service
165-
name: unit-test-cluster-head-svc
166-
replicas: 1
167-
Items: []

tests/unit_test.py

+2-38
Original file line numberDiff line numberDiff line change
@@ -1109,23 +1109,6 @@ def get_ray_obj(group, version, namespace, plural, cls=None):
11091109
"template": {
11101110
"metadata": {},
11111111
"spec": {
1112-
"affinity": {
1113-
"nodeAffinity": {
1114-
"requiredDuringSchedulingIgnoredDuringExecution": {
1115-
"nodeSelectorTerms": [
1116-
{
1117-
"matchExpressions": [
1118-
{
1119-
"key": "quicktest",
1120-
"operator": "In",
1121-
"values": ["quicktest"],
1122-
}
1123-
]
1124-
}
1125-
]
1126-
}
1127-
}
1128-
},
11291112
"containers": [
11301113
{
11311114
"env": [
@@ -1264,23 +1247,6 @@ def get_ray_obj(group, version, namespace, plural, cls=None):
12641247
"labels": {"key": "value"},
12651248
},
12661249
"spec": {
1267-
"affinity": {
1268-
"nodeAffinity": {
1269-
"requiredDuringSchedulingIgnoredDuringExecution": {
1270-
"nodeSelectorTerms": [
1271-
{
1272-
"matchExpressions": [
1273-
{
1274-
"key": "quicktest",
1275-
"operator": "In",
1276-
"values": ["quicktest"],
1277-
}
1278-
]
1279-
}
1280-
]
1281-
}
1282-
}
1283-
},
12841250
"containers": [
12851251
{
12861252
"env": [
@@ -1678,7 +1644,7 @@ def get_aw_obj(group, version, namespace, plural):
16781644
"kind": "AppWrapper",
16791645
"metadata": {
16801646
"annotations": {
1681-
"kubectl.kubernetes.io/last-applied-configuration": '{"apiVersion":"codeflare.dev/v1beta1","kind":"AppWrapper","metadata":{"annotations":{},"name":"quicktest1","namespace":"ns"},"spec":{"priority":9,"resources":{"GenericItems":[{"custompodresources":[{"limits":{"cpu":2,"memory":"8G","nvidia.com/gpu":0},"replicas":1,"requests":{"cpu":2,"memory":"8G","nvidia.com/gpu":0}},{"limits":{"cpu":1,"memory":"2G","nvidia.com/gpu":0},"replicas":1,"requests":{"cpu":1,"memory":"2G","nvidia.com/gpu":0}}],"generictemplate":{"apiVersion":"ray.io/v1","kind":"RayCluster","metadata":{"labels":{"appwrapper.codeflare.dev":"quicktest1","controller-tools.k8s.io":"1.0"},"name":"quicktest1","namespace":"ns"},"spec":{"autoscalerOptions":{"idleTimeoutSeconds":60,"imagePullPolicy":"Always","resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"500m","memory":"512Mi"}},"upscalingMode":"Default"},"enableInTreeAutoscaling":false,"headGroupSpec":{"rayStartParams":{"block":"true","dashboard-host":"0.0.0.0","num-gpus":"0"},"serviceType":"ClusterIP","template":{"spec":{"containers":[{"image":"ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103","imagePullPolicy":"Always","lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","ray stop"]}}},"name":"ray-head","ports":[{"containerPort":6379,"name":"gcs"},{"containerPort":8265,"name":"dashboard"},{"containerPort":10001,"name":"client"}],"resources":{"limits":{"cpu":2,"memory":"8G","nvidia.com/gpu":0},"requests":{"cpu":2,"memory":"8G","nvidia.com/gpu":0}}}]}}},"rayVersion":"1.12.0","workerGroupSpecs":[{"groupName":"small-group-quicktest","maxReplicas":1,"minReplicas":1,"rayStartParams":{"block":"true","num-gpus":"0"},"replicas":1,"template":{"metadata":{"annotations":{"key":"value"},"labels":{"key":"value"}},"spec":{"containers":[{"env":[{"name":"MY_POD_IP","valueFrom":{"fieldRef":{"fieldPath":"status.podIP"}}}],"image":"ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103","lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","ray stop"]}}},"name":"machine-learning","resources":{"limits":{"cpu":1,"memory":"2G","nvidia.com/gpu":0},"requests":{"cpu":1,"memory":"2G","nvidia.com/gpu":0}}}],}}}]}},"replicas":1},{"generictemplate":{"apiVersion":"route.openshift.io/v1","kind":"Route","metadata":{"labels":{"odh-ray-cluster-service":"quicktest-head-svc"},"name":"ray-dashboard-quicktest","namespace":"default"},"spec":{"port":{"targetPort":"dashboard"},"to":{"kind":"Service","name":"quicktest-head-svc"}}},"replica":1}],"Items":[]}}}\n'
1647+
"kubectl.kubernetes.io/last-applied-configuration": '{"apiVersion":"codeflare.dev/v1beta1","kind":"AppWrapper","metadata":{"annotations":{},"name":"quicktest1","namespace":"ns"},"spec":{"resources":{"GenericItems":[{"custompodresources":[{"limits":{"cpu":2,"memory":"8G","nvidia.com/gpu":0},"replicas":1,"requests":{"cpu":2,"memory":"8G","nvidia.com/gpu":0}},{"limits":{"cpu":1,"memory":"2G","nvidia.com/gpu":0},"replicas":1,"requests":{"cpu":1,"memory":"2G","nvidia.com/gpu":0}}],"generictemplate":{"apiVersion":"ray.io/v1","kind":"RayCluster","metadata":{"labels":{"appwrapper.codeflare.dev":"quicktest1","controller-tools.k8s.io":"1.0"},"name":"quicktest1","namespace":"ns"},"spec":{"autoscalerOptions":{"idleTimeoutSeconds":60,"imagePullPolicy":"Always","resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"500m","memory":"512Mi"}},"upscalingMode":"Default"},"enableInTreeAutoscaling":false,"headGroupSpec":{"rayStartParams":{"block":"true","dashboard-host":"0.0.0.0","num-gpus":"0"},"serviceType":"ClusterIP","template":{"spec":{"containers":[{"image":"ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103","imagePullPolicy":"Always","lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","ray stop"]}}},"name":"ray-head","ports":[{"containerPort":6379,"name":"gcs"},{"containerPort":8265,"name":"dashboard"},{"containerPort":10001,"name":"client"}],"resources":{"limits":{"cpu":2,"memory":"8G","nvidia.com/gpu":0},"requests":{"cpu":2,"memory":"8G","nvidia.com/gpu":0}}}]}}},"rayVersion":"1.12.0","workerGroupSpecs":[{"groupName":"small-group-quicktest","maxReplicas":1,"minReplicas":1,"rayStartParams":{"block":"true","num-gpus":"0"},"replicas":1,"template":{"metadata":{"annotations":{"key":"value"},"labels":{"key":"value"}},"spec":{"containers":[{"env":[{"name":"MY_POD_IP","valueFrom":{"fieldRef":{"fieldPath":"status.podIP"}}}],"image":"ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103","lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","ray stop"]}}},"name":"machine-learning","resources":{"limits":{"cpu":1,"memory":"2G","nvidia.com/gpu":0},"requests":{"cpu":1,"memory":"2G","nvidia.com/gpu":0}}}],}}}]}},"replicas":1},{"generictemplate":{"apiVersion":"route.openshift.io/v1","kind":"Route","metadata":{"labels":{"odh-ray-cluster-service":"quicktest-head-svc"},"name":"ray-dashboard-quicktest","namespace":"default"},"spec":{"port":{"targetPort":"dashboard"},"to":{"kind":"Service","name":"quicktest-head-svc"}}},"replica":1}],"Items":[]}}}\n'
16821648
},
16831649
"creationTimestamp": "2023-02-22T16:26:07Z",
16841650
"generation": 4,
@@ -1738,7 +1704,6 @@ def get_aw_obj(group, version, namespace, plural):
17381704
"uid": "6334fc1b-471e-4876-8e7b-0b2277679235",
17391705
},
17401706
"spec": {
1741-
"priority": 9,
17421707
"resources": {
17431708
"GenericItems": [
17441709
{
@@ -2005,7 +1970,7 @@ def get_aw_obj(group, version, namespace, plural):
20051970
"kind": "AppWrapper",
20061971
"metadata": {
20071972
"annotations": {
2008-
"kubectl.kubernetes.io/last-applied-configuration": '{"apiVersion":"codeflare.dev/v1beta1","kind":"AppWrapper","metadata":{"annotations":{},"name":"quicktest2","namespace":"ns"},"spec":{"priority":9,"resources":{"GenericItems":[{"custompodresources":[{"limits":{"cpu":2,"memory":"8G","nvidia.com/gpu":0},"replicas":1,"requests":{"cpu":2,"memory":"8G","nvidia.com/gpu":0}},{"limits":{"cpu":1,"memory":"2G","nvidia.com/gpu":0},"replicas":1,"requests":{"cpu":1,"memory":"2G","nvidia.com/gpu":0}}],"generictemplate":{"apiVersion":"ray.io/v1","kind":"RayCluster","metadata":{"labels":{"appwrapper.codeflare.dev":"quicktest2","controller-tools.k8s.io":"1.0"},"name":"quicktest2","namespace":"ns"},"spec":{"autoscalerOptions":{"idleTimeoutSeconds":60,"imagePullPolicy":"Always","resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"500m","memory":"512Mi"}},"upscalingMode":"Default"},"enableInTreeAutoscaling":false,"headGroupSpec":{"rayStartParams":{"block":"true","dashboard-host":"0.0.0.0","num-gpus":"0"},"serviceType":"ClusterIP","template":{"spec":{"containers":[{"image":"ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103","imagePullPolicy":"Always","lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","ray stop"]}}},"name":"ray-head","ports":[{"containerPort":6379,"name":"gcs"},{"containerPort":8265,"name":"dashboard"},{"containerPort":10001,"name":"client"}],"resources":{"limits":{"cpu":2,"memory":"8G","nvidia.com/gpu":0},"requests":{"cpu":2,"memory":"8G","nvidia.com/gpu":0}}}]}}},"rayVersion":"1.12.0","workerGroupSpecs":[{"groupName":"small-group-quicktest","maxReplicas":1,"minReplicas":1,"rayStartParams":{"block":"true","num-gpus":"0"},"replicas":1,"template":{"metadata":{"annotations":{"key":"value"},"labels":{"key":"value"}},"spec":{"containers":[{"env":[{"name":"MY_POD_IP","valueFrom":{"fieldRef":{"fieldPath":"status.podIP"}}}],"image":"ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103","lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","ray stop"]}}},"name":"machine-learning","resources":{"limits":{"cpu":1,"memory":"2G","nvidia.com/gpu":0},"requests":{"cpu":1,"memory":"2G","nvidia.com/gpu":0}}}],}}}]}},"replicas":1},{"generictemplate":{"apiVersion":"route.openshift.io/v1","kind":"Route","metadata":{"labels":{"odh-ray-cluster-service":"quicktest-head-svc"},"name":"ray-dashboard-quicktest","namespace":"default"},"spec":{"port":{"targetPort":"dashboard"},"to":{"kind":"Service","name":"quicktest-head-svc"}}},"replica":1}],"Items":[]}}}\n'
1973+
"kubectl.kubernetes.io/last-applied-configuration": '{"apiVersion":"codeflare.dev/v1beta1","kind":"AppWrapper","metadata":{"annotations":{},"name":"quicktest2","namespace":"ns"},"spec":{"resources":{"GenericItems":[{"custompodresources":[{"limits":{"cpu":2,"memory":"8G","nvidia.com/gpu":0},"replicas":1,"requests":{"cpu":2,"memory":"8G","nvidia.com/gpu":0}},{"limits":{"cpu":1,"memory":"2G","nvidia.com/gpu":0},"replicas":1,"requests":{"cpu":1,"memory":"2G","nvidia.com/gpu":0}}],"generictemplate":{"apiVersion":"ray.io/v1","kind":"RayCluster","metadata":{"labels":{"appwrapper.codeflare.dev":"quicktest2","controller-tools.k8s.io":"1.0"},"name":"quicktest2","namespace":"ns"},"spec":{"autoscalerOptions":{"idleTimeoutSeconds":60,"imagePullPolicy":"Always","resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"500m","memory":"512Mi"}},"upscalingMode":"Default"},"enableInTreeAutoscaling":false,"headGroupSpec":{"rayStartParams":{"block":"true","dashboard-host":"0.0.0.0","num-gpus":"0"},"serviceType":"ClusterIP","template":{"spec":{"containers":[{"image":"ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103","imagePullPolicy":"Always","lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","ray stop"]}}},"name":"ray-head","ports":[{"containerPort":6379,"name":"gcs"},{"containerPort":8265,"name":"dashboard"},{"containerPort":10001,"name":"client"}],"resources":{"limits":{"cpu":2,"memory":"8G","nvidia.com/gpu":0},"requests":{"cpu":2,"memory":"8G","nvidia.com/gpu":0}}}]}}},"rayVersion":"1.12.0","workerGroupSpecs":[{"groupName":"small-group-quicktest","maxReplicas":1,"minReplicas":1,"rayStartParams":{"block":"true","num-gpus":"0"},"replicas":1,"template":{"metadata":{"annotations":{"key":"value"},"labels":{"key":"value"}},"spec":{"containers":[{"env":[{"name":"MY_POD_IP","valueFrom":{"fieldRef":{"fieldPath":"status.podIP"}}}],"image":"ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103","lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","ray stop"]}}},"name":"machine-learning","resources":{"limits":{"cpu":1,"memory":"2G","nvidia.com/gpu":0},"requests":{"cpu":1,"memory":"2G","nvidia.com/gpu":0}}}],}}}]}},"replicas":1},{"generictemplate":{"apiVersion":"route.openshift.io/v1","kind":"Route","metadata":{"labels":{"odh-ray-cluster-service":"quicktest-head-svc"},"name":"ray-dashboard-quicktest","namespace":"default"},"spec":{"port":{"targetPort":"dashboard"},"to":{"kind":"Service","name":"quicktest-head-svc"}}},"replica":1}],"Items":[]}}}\n'
20091974
},
20101975
"creationTimestamp": "2023-02-22T16:26:07Z",
20111976
"generation": 4,
@@ -2065,7 +2030,6 @@ def get_aw_obj(group, version, namespace, plural):
20652030
"uid": "6334fc1b-471e-4876-8e7b-0b2277679235",
20662031
},
20672032
"spec": {
2068-
"priority": 9,
20692033
"resources": {
20702034
"GenericItems": [
20712035
{

0 commit comments

Comments
 (0)