Skip to content

Commit 2df7f90

Browse files
committed
remove priority/affinity from template -- not compatible with Kueue
1 parent 1687514 commit 2df7f90

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)
@@ -411,8 +396,6 @@ def generate_appwrapper(
411396
cluster_name,
412397
namespace,
413398
)
414-
update_labels(user_yaml, instance_types)
415-
update_priority(user_yaml, item)
416399
update_custompodresources(
417400
item,
418401
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
@@ -1139,23 +1139,6 @@ def get_ray_obj(group, version, namespace, plural, cls=None):
11391139
"template": {
11401140
"metadata": {},
11411141
"spec": {
1142-
"affinity": {
1143-
"nodeAffinity": {
1144-
"requiredDuringSchedulingIgnoredDuringExecution": {
1145-
"nodeSelectorTerms": [
1146-
{
1147-
"matchExpressions": [
1148-
{
1149-
"key": "quicktest",
1150-
"operator": "In",
1151-
"values": ["quicktest"],
1152-
}
1153-
]
1154-
}
1155-
]
1156-
}
1157-
}
1158-
},
11591142
"containers": [
11601143
{
11611144
"env": [
@@ -1294,23 +1277,6 @@ def get_ray_obj(group, version, namespace, plural, cls=None):
12941277
"labels": {"key": "value"},
12951278
},
12961279
"spec": {
1297-
"affinity": {
1298-
"nodeAffinity": {
1299-
"requiredDuringSchedulingIgnoredDuringExecution": {
1300-
"nodeSelectorTerms": [
1301-
{
1302-
"matchExpressions": [
1303-
{
1304-
"key": "quicktest",
1305-
"operator": "In",
1306-
"values": ["quicktest"],
1307-
}
1308-
]
1309-
}
1310-
]
1311-
}
1312-
}
1313-
},
13141280
"containers": [
13151281
{
13161282
"env": [
@@ -1708,7 +1674,7 @@ def get_aw_obj(group, version, namespace, plural):
17081674
"kind": "AppWrapper",
17091675
"metadata": {
17101676
"annotations": {
1711-
"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'
1677+
"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'
17121678
},
17131679
"creationTimestamp": "2023-02-22T16:26:07Z",
17141680
"generation": 4,
@@ -1768,7 +1734,6 @@ def get_aw_obj(group, version, namespace, plural):
17681734
"uid": "6334fc1b-471e-4876-8e7b-0b2277679235",
17691735
},
17701736
"spec": {
1771-
"priority": 9,
17721737
"resources": {
17731738
"GenericItems": [
17741739
{
@@ -2035,7 +2000,7 @@ def get_aw_obj(group, version, namespace, plural):
20352000
"kind": "AppWrapper",
20362001
"metadata": {
20372002
"annotations": {
2038-
"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'
2003+
"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'
20392004
},
20402005
"creationTimestamp": "2023-02-22T16:26:07Z",
20412006
"generation": 4,
@@ -2095,7 +2060,6 @@ def get_aw_obj(group, version, namespace, plural):
20952060
"uid": "6334fc1b-471e-4876-8e7b-0b2277679235",
20962061
},
20972062
"spec": {
2098-
"priority": 9,
20992063
"resources": {
21002064
"GenericItems": [
21012065
{

0 commit comments

Comments
 (0)