diff --git a/api/v1/user_apps.py b/api/v1/user_apps.py index 9604282..7dcb36c 100644 --- a/api/v1/user_apps.py +++ b/api/v1/user_apps.py @@ -57,18 +57,6 @@ def to_spec_map(specs, existing_map=None): return spec_map -def ensure_create_home_pvc(user): - username = kube.get_username(user) - - # Ensure user home PVC exists - pvc_name = kube.get_home_pvc_name(user) - storage_class = kube.get_home_storage_class() - try: - kube.create_persistent_volume_claim(pvc_name=pvc_name, namespace=kube.get_resource_namespace(username=username), storage_class=storage_class) - except Exception as e: - logger.warning(f'Failed to create home PVC for user={username}: ', str(e)) - pass - def create_userapp(stack, user, token_info): username = kube.get_username(user) @@ -93,7 +81,7 @@ def create_userapp(stack, user, token_info): try: # Ensure that user's home PVC has been created - ensure_create_home_pvc(user=user) + kube.init_user(username=user) # Create service(s) / ingress / deployment kube.create_userapp(username=username, userapp=stack, spec_map=spec_map) diff --git a/pkg/kube.py b/pkg/kube.py index f910c1e..fd79cfd 100644 --- a/pkg/kube.py +++ b/pkg/kube.py @@ -442,9 +442,12 @@ def initialize(): # Create necessary resources for a new user def init_user(username): + username = get_username(username) namespace = get_resource_namespace(username) - # resource_name = get_resource_name(get_username(username)) + # Ensure user home PVC exists + pvc_name = get_home_pvc_name(username) + storage_class = get_home_storage_class() if not is_single_namespace(): try: create_namespace(namespace_name=namespace) @@ -454,7 +457,7 @@ def init_user(username): raise e try: - create_persistent_volume_claim(namespace=namespace, pvc_name=username) + create_persistent_volume_claim(namespace=namespace, pvc_name=pvc_name, storage_class=storage_class) except ApiException as e: # Ignore conflict - creation of these resources is idempotent if e.status != 409: