Skip to content

Commit ee54699

Browse files
committed
Updated template and more pythonic script
1 parent a916ae3 commit ee54699

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

src/codeflare_sdk/templates/aw-kuberay.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ spec:
9494
requiredDuringSchedulingIgnoredDuringExecution:
9595
nodeSelectorTerms:
9696
- matchExpressions:
97-
- key: role
97+
- key: aw-kuberay-glue #--> key changed to AW name
9898
operator: In
9999
values:
100100
- "aw-kuberay-glue"
@@ -175,7 +175,7 @@ spec:
175175
requiredDuringSchedulingIgnoredDuringExecution:
176176
nodeSelectorTerms:
177177
- matchExpressions:
178-
- key: role
178+
- key: aw-kuberay-glue #--> key changed to AW name
179179
operator: In
180180
values:
181181
- "aw-kuberay-glue"

src/codeflare_sdk/utils/generate_yaml.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import argparse
44
import uuid
55

6-
def readTemplate(template):
6+
def read_template(template):
77
with open(template, "r") as stream:
88
try:
99
return yaml.safe_load(stream)
@@ -23,7 +23,7 @@ def update_names(yaml, item, appwrapper_name, cluster_name):
2323
lower_meta["labels"]["appwrapper.mcad.ibm.com"] = appwrapper_name
2424
lower_meta["name"] = cluster_name
2525

26-
def updateCustompodresources(item, cpu, memory, gpu, workers):
26+
def update_custompodresources(item, cpu, memory, gpu, workers):
2727
if 'custompodresources' in item.keys():
2828
custompodresources = item.get('custompodresources')
2929
for resource in custompodresources:
@@ -44,6 +44,7 @@ def updateCustompodresources(item, cpu, memory, gpu, workers):
4444
def update_affinity(spec, appwrapper_name):
4545
node_selector_terms = spec.get("affinity").get("nodeAffinity").get("requiredDuringSchedulingIgnoredDuringExecution").get("nodeSelectorTerms")
4646
node_selector_terms[0]["matchExpressions"][0]["values"][0] = appwrapper_name
47+
node_selector_terms[0]["matchExpressions"][0]["key"] = appwrapper_name
4748

4849
def update_resources(spec, cpu, memory, gpu):
4950
container = spec.get("containers")
@@ -74,24 +75,24 @@ def update_nodes(item, appwrapper_name, cpu, memory, gpu, workers):
7475
update_affinity(spec, appwrapper_name)
7576
update_resources(spec, cpu, memory, gpu)
7677

77-
def generateAppwrapper(cpu, memory, gpu, workers, template):
78-
user_yaml = readTemplate(template)
78+
def write_user_appwrapper(user_yaml, appwrapper_name):
79+
with open(f'{appwrapper_name}.yaml','w') as outfile:
80+
yaml.dump(user_yaml, outfile, default_flow_style=False)
81+
82+
def generate_appwrapper(cpu, memory, gpu, workers, template):
83+
user_yaml = read_template(template)
7984
appwrapper_name, cluster_name = gen_names()
8085
resources = user_yaml.get("spec","resources")
8186
item = resources["resources"].get("GenericItems")[0]
8287
update_names(user_yaml, item, appwrapper_name, cluster_name)
83-
updateCustompodresources(item, cpu, memory, gpu, workers)
88+
update_custompodresources(item, cpu, memory, gpu, workers)
8489
update_nodes(item, appwrapper_name, cpu, memory, gpu, workers)
85-
writeUserAppwrapper(user_yaml, appwrapper_name)
86-
87-
def writeUserAppwrapper(user_yaml, appwrapper_name):
88-
with open(f'{appwrapper_name}.yaml','w') as outfile:
89-
yaml.dump(user_yaml, outfile, default_flow_style=False)
90+
write_user_appwrapper(user_yaml, appwrapper_name)
9091

9192
def main():
9293
parser = argparse.ArgumentParser(description='Generate user AppWrapper')
9394
parser.add_argument("--cpu", type=int, required=True, help="number of CPU(s) in a worker required for running job")
94-
parser.add_argument("--memory", required=True, help="RAM required in a worker for running job")
95+
parser.add_argument("--memory", type=int, required=True, help="RAM required in a worker for running job, in GB")
9596
parser.add_argument("--gpu",type=int, required=True, help="GPU(s) required in a worker for running job")
9697
parser.add_argument("--workers", type=int, required=True, help="How many workers are required in the cluster")
9798
parser.add_argument("--template", required=True, help="Template AppWrapper yaml file")
@@ -103,7 +104,7 @@ def main():
103104
workers = args.workers
104105
template = args.template
105106

106-
generateAppwrapper(cpu, memory, gpu, workers, template)
107+
generate_appwrapper(cpu, memory, gpu, workers, template)
107108

108109
if __name__=="__main__":
109110
main()

0 commit comments

Comments
 (0)