@@ -83,11 +83,10 @@ def set_up_efs_fsx(sagemaker_session):
8383 subnet_ids [0 ],
8484 )
8585
86- file_system_efs_id , mount_efs_target_id = _check_or_create_efs (sagemaker_session )
87- file_system_fsx_id = _check_or_create_fsx (sagemaker_session )
86+ file_system_efs_id = _check_or_create_efs (sagemaker_session )
87+ mount_efs_target_id = _create_efs_mount (sagemaker_session , file_system_efs_id )
8888
89- connected_instance = _connect_ec2_instance (ec2_instance )
90- _upload_data_and_mount_fs (connected_instance , file_system_efs_id , file_system_fsx_id )
89+ file_system_fsx_id = _check_or_create_fsx (sagemaker_session )
9190
9291 fs_resources = FsResources (
9392 KEY_NAME ,
@@ -100,6 +99,14 @@ def set_up_efs_fsx(sagemaker_session):
10099 ec2_instance .id ,
101100 mount_efs_target_id ,
102101 )
102+
103+ try :
104+ connected_instance = _connect_ec2_instance (ec2_instance )
105+ _upload_data_and_mount_fs (connected_instance , file_system_efs_id , file_system_fsx_id )
106+ except Exception :
107+ tear_down (sagemaker_session , fs_resources )
108+ raise
109+
103110 return fs_resources
104111
105112
@@ -155,8 +162,7 @@ def _check_or_create_efs(sagemaker_session):
155162 if status == "available" :
156163 break
157164
158- mount_target_id = _create_efs_mount (sagemaker_session , efs_id )
159- return efs_id , mount_target_id
165+ return efs_id
160166
161167
162168def _create_efs_mount (sagemaker_session , file_system_id ):
@@ -334,6 +340,7 @@ def tear_down(sagemaker_session, fs_resources):
334340 break
335341
336342 efs_client .delete_file_system (FileSystemId = file_system_efs_id )
343+
337344 ec2_resource = sagemaker_session .boto_session .resource ("ec2" )
338345 instance_id = fs_resources .ec2_instance_id
339346 _terminate_instance (ec2_resource , [instance_id ])
0 commit comments