diff --git a/src/codeflare_sdk/templates/new-template.yaml b/src/codeflare_sdk/templates/new-template.yaml index 24daf3a17..e4428a901 100644 --- a/src/codeflare_sdk/templates/new-template.yaml +++ b/src/codeflare_sdk/templates/new-template.yaml @@ -232,3 +232,19 @@ spec: cpu: "2" memory: "12G" nvidia.com/gpu: "1" + - replica: 1 + generictemplate: + kind: Route + apiVersion: route.openshift.io/v1 + metadata: + name: ray-dashboard-deployment-name + namespace: default + labels: + # allows me to return name of service that Ray operator creates + odh-ray-cluster-service: deployment-name-head-svc + spec: + to: + kind: Service + name: deployment-name-head-svc + port: + targetPort: dashboard diff --git a/src/codeflare_sdk/utils/generate_yaml.py b/src/codeflare_sdk/utils/generate_yaml.py index c9b0fdbe7..82ea6bb05 100755 --- a/src/codeflare_sdk/utils/generate_yaml.py +++ b/src/codeflare_sdk/utils/generate_yaml.py @@ -19,6 +19,13 @@ def gen_names(name): else: return name, name +def update_dashboard_route(route_item, cluster_name): + metadata = route_item.get("generictemplate", {}).get("metadata") + metadata["name"] = f'ray-dashboard-{cluster_name}' + metadata["labels"]["odh-ray-cluster-service"] = f'{cluster_name}-head-svc' + spec = route_item.get("generictemplate", {}).get("spec") + spec["to"]["name"] = f'{cluster_name}-head-svc' + def update_names(yaml, item, appwrapper_name, cluster_name): metadata = yaml.get("metadata") metadata["name"] = appwrapper_name @@ -133,10 +140,12 @@ def generate_appwrapper(name, min_cpu, max_cpu, min_memory, max_memory, gpu, wor appwrapper_name, cluster_name = gen_names(name) resources = user_yaml.get("spec","resources") item = resources["resources"].get("GenericItems")[0] + route_item = resources["resources"].get("GenericItems")[1] update_names(user_yaml, item, appwrapper_name, cluster_name) update_labels(user_yaml, instascale, instance_types) update_custompodresources(item, min_cpu, max_cpu, min_memory, max_memory, gpu, workers) update_nodes(item, appwrapper_name, min_cpu, max_cpu, min_memory, max_memory, gpu, workers, image, instascale, env) + update_dashboard_route(route_item, cluster_name) outfile = appwrapper_name + ".yaml" write_user_appwrapper(user_yaml, outfile) return outfile