33import base64
44import json as json_lib
55import logging
6- from math import floor
76import os
87from dataclasses import dataclass
98from datetime import UTC , datetime
9+ from math import floor
1010from pathlib import Path
1111from typing import Any
1212from urllib .parse import urljoin , urlparse
@@ -784,23 +784,23 @@ async def _handler(
784784 internal_gitlab_user : APIUser ,
785785 body : apispec .SessionPostRequest ,
786786 ) -> JSONResponse :
787+ # gitlab_client = NotebooksGitlabClient(self.nb_config.git.url, internal_gitlab_user.access_token)
788+ launcher = await self .session_repo .get_launcher (user , ULID .from_str (body .launcher_id ))
789+ project = await self .project_repo .get_project (user = user , project_id = launcher .project_id )
787790 server_name = renku_2_make_server_name (
788- safe_username = user .id , project_id = body .project_id , launcher_id = body .launcher_id
791+ safe_username = user .id , project_id = str ( launcher .project_id ) , launcher_id = body .launcher_id
789792 )
790793 existing_session = await self .nb_config .k8s_v2_client .get_server (server_name , user .id )
791794 if existing_session is not None and existing_session .spec is not None :
792795 return json (existing_session .as_apispec ().model_dump (exclude_none = True , mode = "json" ))
793- gitlab_client = NotebooksGitlabClient (self .nb_config .git .url , internal_gitlab_user .access_token )
794- project = await self .project_repo .get_project (user = user , project_id = ULID .from_str (body .project_id ))
795- launcher = await self .session_repo .get_launcher (user , ULID .from_str (body .launcher_id ))
796796 environment = launcher .environment
797797 image = environment .container_image
798798 default_resource_class = await self .rp_repo .get_default_resource_class ()
799799 if default_resource_class .id is None :
800800 raise errors .ProgrammingError (message = "The default reosurce class has to have an ID" , quiet = True )
801801 resource_class_id = body .resource_class_id or default_resource_class .id
802802 parsed_server_options = await self .nb_config .crc_validator .validate_class_storage (
803- user , resource_class_id , body .storage
803+ user , resource_class_id , body .disk_storage
804804 )
805805 work_dir = Path ("/home/jovyan/work" )
806806 user_secrets : K8sUserSecrets | None = None
@@ -816,7 +816,7 @@ async def _handler(
816816 server = Renku2UserServer (
817817 user = user ,
818818 image = image ,
819- project_id = body .project_id ,
819+ project_id = str ( launcher .project_id ) ,
820820 launcher_id = body .launcher_id ,
821821 server_name = server_name ,
822822 server_options = parsed_server_options ,
@@ -857,7 +857,7 @@ async def _handler(
857857
858858 parsed_server_url = urlparse (server .server_url )
859859 annotations : dict [str , str ] = {
860- "renku.io/project_id" : body .project_id ,
860+ "renku.io/project_id" : str ( launcher .project_id ) ,
861861 "renku.io/launcher_id" : body .launcher_id ,
862862 "renku.io/resource_class_id" : str (body .resource_class_id or default_resource_class .id ),
863863 }
@@ -874,7 +874,7 @@ async def _handler(
874874 port = environment .port ,
875875 storage = Storage (
876876 className = self .nb_config .sessions .storage .pvs_storage_class ,
877- size = str (body .storage ) + "Gi " ,
877+ size = str (body .disk_storage ) + "G " ,
878878 mountPath = environment .mount_directory .as_posix (),
879879 ),
880880 workingDir = environment .working_directory .as_posix (),
0 commit comments