@@ -504,45 +504,13 @@ def torchx_config(
504504
505505 def from_k8_cluster_object (rc , mcad = True , ingress_domain = None , ingress_options = {}, write_to_file = False ):
506506 config_check ()
507- cluster_name = rc ["metadata" ]["name" ]
508- if is_openshift_cluster ():
509- try :
510- api_instance = client .CustomObjectsApi (api_config_handler ())
511- routes = api_instance .list_namespaced_custom_object (
512- group = "route.openshift.io" ,
513- version = "v1" ,
514- namespace = rc ["metadata" ]["namespace" ],
515- plural = "routes" ,
516- )
517- except Exception as e : # pragma no cover
518- return _kube_api_error_handling (e )
519- for route in routes ["items" ]:
520- if (
521- route ["metadata" ]["name" ] == f"rayclient-{ cluster_name } "
522- and route ["spec" ]["port" ]["targetPort" ] == "client"
523- ):
524- local_interactive = True
525- break
526- else :
527- local_interactive = False
507+ if (
508+ rc ["metadata" ]["annotations" ]["sdk.codeflare.dev/local_interactive" ]
509+ == "true"
510+ ):
511+ local_interactive = True
528512 else :
529- try :
530- api_instance = client .NetworkingV1Api (api_config_handler ())
531- ingresses = api_instance .list_namespaced_ingress (
532- rc ["metadata" ]["namespace" ]
533- )
534- except Exception as e : # pragma no cover
535- return _kube_api_error_handling (e )
536- for ingress in ingresses .items :
537- if (
538- f"rayclient-{ cluster_name } " == ingress .metadata .name
539- and ingress .spec .rules [0 ].http .paths [0 ].backend .service .port .number
540- == 10001
541- ):
542- local_interactive = True
543- break
544- else :
545- local_interactive = False
513+ local_interactive = False
546514
547515 machine_types = (
548516 rc ["metadata" ]["labels" ]["orderedinstance" ].split ("_" )
@@ -551,9 +519,10 @@ def from_k8_cluster_object(rc, mcad=True, ingress_domain=None, ingress_options={
551519 )
552520
553521 if local_interactive and ingress_domain == None :
554- ingress_domain = get_ingress_domain_from_client (
555- rc ["metadata" ]["name" ], rc ["metadata" ]["namespace" ]
556- )
522+ ingress_domain = rc ["metadata" ]["annotations" ][
523+ "sdk.codeflare.dev/ingress_domain"
524+ ]
525+
557526 cluster_config = ClusterConfiguration (
558527 name = rc ["metadata" ]["name" ],
559528 namespace = rc ["metadata" ]["namespace" ],
@@ -1080,30 +1049,3 @@ def _copy_to_ray(cluster: Cluster) -> RayCluster:
10801049 if ray .status == CodeFlareClusterStatus .READY :
10811050 ray .status = RayClusterStatus .READY
10821051 return ray
1083-
1084-
1085- def get_ingress_domain_from_client (cluster_name : str , namespace : str = "default" ):
1086- if is_openshift_cluster ():
1087- try :
1088- config_check ()
1089- api_instance = client .CustomObjectsApi (api_config_handler ())
1090- route = api_instance .get_namespaced_custom_object (
1091- group = "route.openshift.io" ,
1092- version = "v1" ,
1093- namespace = namespace ,
1094- plural = "routes" ,
1095- name = f"rayclient-{ cluster_name } " ,
1096- )
1097- return route ["spec" ]["host" ].split ("." , 1 )[1 ]
1098- except Exception as e : # pragma no cover
1099- return _kube_api_error_handling (e )
1100- else :
1101- try :
1102- config_check ()
1103- api_instance = client .NetworkingV1Api (api_config_handler ())
1104- ingress = api_instance .read_namespaced_ingress (
1105- f"rayclient-{ cluster_name } " , namespace
1106- )
1107- return ingress .spec .rules [0 ].host .split ("." , 1 )[1 ]
1108- except Exception as e : # pragma no cover
1109- return _kube_api_error_handling (e )
0 commit comments