@@ -239,10 +239,16 @@ def add_queue_label(item: dict, namespace: str, local_queue: Optional[str]):
239
239
item ["metadata" ]["labels" ].update ({"kueue.x-k8s.io/queue-name" : lq_name })
240
240
241
241
242
+ def augment_labels (item : dict , labels : dict ):
243
+ if "template" in item :
244
+ if not "labels" in item ["template" ]["metadata" ]:
245
+ item ["template" ]["metadata" ]["labels" ] = {}
246
+ item ["template" ]["metadata" ]["labels" ].update (labels )
247
+
248
+
242
249
def write_components (
243
250
user_yaml : dict ,
244
251
output_file_name : str ,
245
- labels : dict ,
246
252
):
247
253
# Create the directory if it doesn't exist
248
254
directory_path = os .path .dirname (output_file_name )
@@ -251,12 +257,9 @@ def write_components(
251
257
252
258
components = user_yaml .get ("spec" , "resources" ).get ("components" )
253
259
open (output_file_name , "w" ).close ()
254
- cluster_labels = labels
255
260
with open (output_file_name , "a" ) as outfile :
256
261
for component in components :
257
262
if "template" in component :
258
- labels = component ["template" ]["metadata" ]["labels" ]
259
- labels .update (cluster_labels )
260
263
outfile .write ("---\n " )
261
264
yaml .dump (component ["template" ], outfile , default_flow_style = False )
262
265
print (f"Written to: { output_file_name } " )
@@ -265,15 +268,11 @@ def write_components(
265
268
def load_components (
266
269
user_yaml : dict ,
267
270
name : str ,
268
- labels : dict ,
269
271
):
270
272
component_list = []
271
273
components = user_yaml .get ("spec" , "resources" ).get ("components" )
272
- cluster_labels = labels
273
274
for component in components :
274
275
if "template" in component :
275
- labels = component ["template" ]["metadata" ]["labels" ]
276
- labels .update (cluster_labels )
277
276
component_list .append (component ["template" ])
278
277
279
278
resources = "---\n " + "---\n " .join (
@@ -341,11 +340,12 @@ def generate_appwrapper(
341
340
head_gpus ,
342
341
)
343
342
343
+ augment_labels (item , labels )
344
+
344
345
if appwrapper :
345
346
add_queue_label (user_yaml , namespace , local_queue )
346
347
else :
347
- if "template" in item :
348
- add_queue_label (item ["template" ], namespace , local_queue )
348
+ add_queue_label (item ["template" ], namespace , local_queue )
349
349
350
350
directory_path = os .path .expanduser ("~/.codeflare/resources/" )
351
351
outfile = os .path .join (directory_path , appwrapper_name + ".yaml" )
@@ -354,11 +354,11 @@ def generate_appwrapper(
354
354
if appwrapper :
355
355
write_user_appwrapper (user_yaml , outfile )
356
356
else :
357
- write_components (user_yaml , outfile , labels )
357
+ write_components (user_yaml , outfile )
358
358
return outfile
359
359
else :
360
360
if appwrapper :
361
361
user_yaml = load_appwrapper (user_yaml , name )
362
362
else :
363
- user_yaml = load_components (user_yaml , name , labels )
363
+ user_yaml = load_components (user_yaml , name )
364
364
return user_yaml
0 commit comments