@@ -33,19 +33,22 @@ def gen_names(name):
3333 else :
3434 return name , name
3535
36- def update_dashboard_route (route_item , cluster_name ):
36+ def update_dashboard_route (route_item , cluster_name , namespace ):
3737 metadata = route_item .get ("generictemplate" , {}).get ("metadata" )
3838 metadata ["name" ] = f'ray-dashboard-{ cluster_name } '
39+ metadata ["namespace" ] = namespace
3940 metadata ["labels" ]["odh-ray-cluster-service" ] = f'{ cluster_name } -head-svc'
4041 spec = route_item .get ("generictemplate" , {}).get ("spec" )
4142 spec ["to" ]["name" ] = f'{ cluster_name } -head-svc'
4243
43- def update_names (yaml , item , appwrapper_name , cluster_name ):
44+ def update_names (yaml , item , appwrapper_name , cluster_name , namespace ):
4445 metadata = yaml .get ("metadata" )
4546 metadata ["name" ] = appwrapper_name
47+ metadata ["namespace" ] = namespace
4648 lower_meta = item .get ("generictemplate" , {}).get ("metadata" )
4749 lower_meta ["labels" ]["appwrapper.mcad.ibm.com" ] = appwrapper_name
4850 lower_meta ["name" ] = cluster_name
51+ lower_meta ["namespace" ] = namespace
4952
5053def update_labels (yaml , instascale , instance_types ):
5154 metadata = yaml .get ("metadata" )
@@ -154,17 +157,17 @@ def write_user_appwrapper(user_yaml, output_file_name):
154157 yaml .dump (user_yaml , outfile , default_flow_style = False )
155158 print (f"Written to: { output_file_name } " )
156159
157- def generate_appwrapper (name , min_cpu , max_cpu , min_memory , max_memory , gpu , workers , template , image , instascale , instance_types , env ):
160+ def generate_appwrapper (name , namespace , min_cpu , max_cpu , min_memory , max_memory , gpu , workers , template , image , instascale , instance_types , env ):
158161 user_yaml = read_template (template )
159162 appwrapper_name , cluster_name = gen_names (name )
160163 resources = user_yaml .get ("spec" ,"resources" )
161164 item = resources ["resources" ].get ("GenericItems" )[0 ]
162165 route_item = resources ["resources" ].get ("GenericItems" )[1 ]
163- update_names (user_yaml , item , appwrapper_name , cluster_name )
166+ update_names (user_yaml , item , appwrapper_name , cluster_name , namespace )
164167 update_labels (user_yaml , instascale , instance_types )
165168 update_custompodresources (item , min_cpu , max_cpu , min_memory , max_memory , gpu , workers )
166169 update_nodes (item , appwrapper_name , min_cpu , max_cpu , min_memory , max_memory , gpu , workers , image , instascale , env )
167- update_dashboard_route (route_item , cluster_name )
170+ update_dashboard_route (route_item , cluster_name , namespace )
168171 outfile = appwrapper_name + ".yaml"
169172 write_user_appwrapper (user_yaml , outfile )
170173 return outfile
@@ -183,6 +186,7 @@ def main():
183186 parser .add_argument ("--image" , required = False , default = "rayproject/ray:latest" , help = "Ray image to be used (defaults to rayproject/ray:latest)" )
184187 parser .add_argument ("--instascale" , default = False , required = False , action = 'store_true' , help = "Indicates that instascale is installed on the cluster" )
185188 parser .add_argument ("--instance-types" , type = str , nargs = '+' , default = [], required = False , help = "Head,worker instance types (space separated)" )
189+ parser .add_argument ("--namespace" , required = False , default = "default" , help = "Set the kubernetes namespace you want to deploy your cluster to. Default. If left blank, uses the 'default' namespace" )
186190
187191 args = parser .parse_args ()
188192 name = args .name
@@ -196,9 +200,10 @@ def main():
196200 image = args .image
197201 instascale = args .instascale
198202 instance_types = args .instance_types
203+ namespace = args .namespace
199204 env = {}
200205
201- outfile = generate_appwrapper (name , min_cpu , max_cpu , min_memory , max_memory , gpu , workers , template , image , instascale , instance_types , env )
206+ outfile = generate_appwrapper (name ,namespace , min_cpu , max_cpu , min_memory , max_memory , gpu , workers , template , image , instascale , instance_types , env )
202207 return outfile
203208
204209if __name__ == "__main__" :
0 commit comments