Skip to content

Commit bee839b

Browse files
committed
remove priority/affinity from template -- not compatible with Kueue
1 parent 35d4000 commit bee839b

File tree

4 files changed

+2
-113
lines changed

4 files changed

+2
-113
lines changed

src/codeflare_sdk/templates/base-template.yaml

Lines changed: 0 additions & 23 deletions
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

Lines changed: 0 additions & 17 deletions
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)
@@ -383,8 +368,6 @@ def generate_appwrapper(
383368
cluster_name,
384369
namespace,
385370
)
386-
update_labels(user_yaml, instance_types)
387-
update_priority(user_yaml, item)
388371
update_custompodresources(
389372
item,
390373
min_cpu,

tests/test-case-bad.yaml

Lines changed: 0 additions & 35 deletions
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

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,23 +1112,6 @@ def get_ray_obj(group, version, namespace, plural, cls=None):
11121112
"template": {
11131113
"metadata": {},
11141114
"spec": {
1115-
"affinity": {
1116-
"nodeAffinity": {
1117-
"requiredDuringSchedulingIgnoredDuringExecution": {
1118-
"nodeSelectorTerms": [
1119-
{
1120-
"matchExpressions": [
1121-
{
1122-
"key": "quicktest",
1123-
"operator": "In",
1124-
"values": ["quicktest"],
1125-
}
1126-
]
1127-
}
1128-
]
1129-
}
1130-
}
1131-
},
11321115
"containers": [
11331116
{
11341117
"env": [
@@ -1267,23 +1250,6 @@ def get_ray_obj(group, version, namespace, plural, cls=None):
12671250
"labels": {"key": "value"},
12681251
},
12691252
"spec": {
1270-
"affinity": {
1271-
"nodeAffinity": {
1272-
"requiredDuringSchedulingIgnoredDuringExecution": {
1273-
"nodeSelectorTerms": [
1274-
{
1275-
"matchExpressions": [
1276-
{
1277-
"key": "quicktest",
1278-
"operator": "In",
1279-
"values": ["quicktest"],
1280-
}
1281-
]
1282-
}
1283-
]
1284-
}
1285-
}
1286-
},
12871253
"containers": [
12881254
{
12891255
"env": [
@@ -1681,7 +1647,7 @@ def get_aw_obj(group, version, namespace, plural):
16811647
"kind": "AppWrapper",
16821648
"metadata": {
16831649
"annotations": {
1684-
"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'
1650+
"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'
16851651
},
16861652
"creationTimestamp": "2023-02-22T16:26:07Z",
16871653
"generation": 4,
@@ -1741,7 +1707,6 @@ def get_aw_obj(group, version, namespace, plural):
17411707
"uid": "6334fc1b-471e-4876-8e7b-0b2277679235",
17421708
},
17431709
"spec": {
1744-
"priority": 9,
17451710
"resources": {
17461711
"GenericItems": [
17471712
{
@@ -2008,7 +1973,7 @@ def get_aw_obj(group, version, namespace, plural):
20081973
"kind": "AppWrapper",
20091974
"metadata": {
20101975
"annotations": {
2011-
"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'
1976+
"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'
20121977
},
20131978
"creationTimestamp": "2023-02-22T16:26:07Z",
20141979
"generation": 4,
@@ -2068,7 +2033,6 @@ def get_aw_obj(group, version, namespace, plural):
20682033
"uid": "6334fc1b-471e-4876-8e7b-0b2277679235",
20692034
},
20702035
"spec": {
2071-
"priority": 9,
20722036
"resources": {
20732037
"GenericItems": [
20742038
{

0 commit comments

Comments
 (0)