@@ -215,10 +215,16 @@ def add_queue_label(item: dict, namespace: str, local_queue: Optional[str]):
215
215
item ["metadata" ]["labels" ].update ({"kueue.x-k8s.io/queue-name" : lq_name })
216
216
217
217
218
+ def augment_labels (item : dict , labels : dict ):
219
+ if "template" in item :
220
+ if not "labels" in item ["template" ]["metadata" ]:
221
+ item ["template" ]["metadata" ]["labels" ] = {}
222
+ item ["template" ]["metadata" ]["labels" ].update (labels )
223
+
224
+
218
225
def write_components (
219
226
user_yaml : dict ,
220
227
output_file_name : str ,
221
- labels : dict ,
222
228
):
223
229
# Create the directory if it doesn't exist
224
230
directory_path = os .path .dirname (output_file_name )
@@ -227,12 +233,9 @@ def write_components(
227
233
228
234
components = user_yaml .get ("spec" , "resources" ).get ("components" )
229
235
open (output_file_name , "w" ).close ()
230
- cluster_labels = labels
231
236
with open (output_file_name , "a" ) as outfile :
232
237
for component in components :
233
238
if "template" in component :
234
- labels = component ["template" ]["metadata" ]["labels" ]
235
- labels .update (cluster_labels )
236
239
outfile .write ("---\n " )
237
240
yaml .dump (component ["template" ], outfile , default_flow_style = False )
238
241
print (f"Written to: { output_file_name } " )
@@ -241,15 +244,11 @@ def write_components(
241
244
def load_components (
242
245
user_yaml : dict ,
243
246
name : str ,
244
- labels : dict ,
245
247
):
246
248
component_list = []
247
249
components = user_yaml .get ("spec" , "resources" ).get ("components" )
248
- cluster_labels = labels
249
250
for component in components :
250
251
if "template" in component :
251
- labels = component ["template" ]["metadata" ]["labels" ]
252
- labels .update (cluster_labels )
253
252
component_list .append (component ["template" ])
254
253
255
254
resources = "---\n " + "---\n " .join (
@@ -317,11 +316,12 @@ def generate_appwrapper(
317
316
head_gpus ,
318
317
)
319
318
319
+ augment_labels (item , labels )
320
+
320
321
if appwrapper :
321
322
add_queue_label (user_yaml , namespace , local_queue )
322
323
else :
323
- if "template" in item :
324
- add_queue_label (item ["template" ], namespace , local_queue )
324
+ add_queue_label (item ["template" ], namespace , local_queue )
325
325
326
326
directory_path = os .path .expanduser ("~/.codeflare/resources/" )
327
327
outfile = os .path .join (directory_path , appwrapper_name + ".yaml" )
@@ -330,11 +330,11 @@ def generate_appwrapper(
330
330
if appwrapper :
331
331
write_user_appwrapper (user_yaml , outfile )
332
332
else :
333
- write_components (user_yaml , outfile , labels )
333
+ write_components (user_yaml , outfile )
334
334
return outfile
335
335
else :
336
336
if appwrapper :
337
337
user_yaml = load_appwrapper (user_yaml , name )
338
338
else :
339
- user_yaml = load_components (user_yaml , name , labels )
339
+ user_yaml = load_components (user_yaml , name )
340
340
return user_yaml
0 commit comments