@@ -910,7 +910,8 @@ def write_cluster_config(
910
910
# If the current code is run by controller, propagate the real
911
911
# calling user which should've been passed in as the
912
912
# SKYPILOT_USER env var (see spot-controller.yaml.j2).
913
- 'user' : os .environ .get ('SKYPILOT_USER' , getpass .getuser ()),
913
+ 'user' : get_cleaned_username (os .environ .get (
914
+ 'SKYPILOT_USER' , '' )),
914
915
915
916
# AWS only:
916
917
# Temporary measure, as deleting per-cluster SGs is too slow.
@@ -1323,8 +1324,8 @@ def generate_cluster_name():
1323
1324
return f'sky-{ uuid .uuid4 ().hex [:4 ]} -{ get_cleaned_username ()} '
1324
1325
1325
1326
1326
- def get_cleaned_username () -> str :
1327
- """Cleans the current username to be used as part of a cluster name.
1327
+ def get_cleaned_username (username : str = '' ) -> str :
1328
+ """Cleans the username to be used as part of a cluster name.
1328
1329
1329
1330
Clean up includes:
1330
1331
1. Making all characters lowercase
@@ -1338,7 +1339,7 @@ def get_cleaned_username() -> str:
1338
1339
A cleaned username that will pass the regex in
1339
1340
check_cluster_name_is_valid().
1340
1341
"""
1341
- username = getpass .getuser ()
1342
+ username = username or getpass .getuser ()
1342
1343
username = username .lower ()
1343
1344
username = re .sub (r'[^a-z0-9-]' , '' , username )
1344
1345
username = re .sub (r'^[0-9-]+' , '' , username )
0 commit comments