@@ -58,28 +58,42 @@ def handler(signum, frame):
58
58
@contextmanager
59
59
def timeout_and_delete_endpoint_by_name (endpoint_name , sagemaker_session , seconds = 0 , minutes = 35 , hours = 0 ):
60
60
with timeout (seconds = seconds , minutes = minutes , hours = hours ) as t :
61
+ no_errors = False
61
62
try :
62
63
yield [t ]
64
+ no_errors = True
63
65
finally :
64
66
try :
65
67
sagemaker_session .delete_endpoint (endpoint_name )
66
68
LOGGER .info ('deleted endpoint {}' .format (endpoint_name ))
67
- _cleanup_endpoint_logs (endpoint_name , sagemaker_session )
69
+
70
+ _show_endpoint_logs (endpoint_name , sagemaker_session )
71
+ if no_errors :
72
+ _cleanup_endpoint_logs (endpoint_name , sagemaker_session )
68
73
except ClientError as ce :
69
74
if ce .response ['Error' ]['Code' ] == 'ValidationException' :
70
75
# avoids the inner exception to be overwritten
71
76
pass
72
77
73
78
74
- def _cleanup_endpoint_logs (endpoint_name , sagemaker_session ):
79
+ def _show_endpoint_logs (endpoint_name , sagemaker_session ):
75
80
log_group = '/aws/sagemaker/Endpoints/{}' .format (endpoint_name )
76
81
try :
77
82
# print out logs before deletion for debuggability
78
83
LOGGER .info ('cloudwatch logs for log group {}:' .format (log_group ))
79
84
logs = AWSLogs (log_group_name = log_group , log_stream_name = 'ALL' , start = '1d' ,
80
85
aws_region = sagemaker_session .boto_session .region_name )
81
86
logs .list_logs ()
87
+ except Exception :
88
+ LOGGER .exception ('Failure occurred while listing cloudwatch log group %s. ' +
89
+ 'Swallowing exception but printing stacktrace for debugging.' , log_group )
90
+
82
91
92
+ def _cleanup_endpoint_logs (endpoint_name , sagemaker_session ):
93
+ log_group = '/aws/sagemaker/Endpoints/{}' .format (endpoint_name )
94
+ try :
95
+ # print out logs before deletion for debuggability
96
+ LOGGER .info ('deleting cloudwatch log group {}:' .format (log_group ))
83
97
cwl_client = sagemaker_session .boto_session .client ('logs' )
84
98
cwl_client .delete_log_group (logGroupName = log_group )
85
99
LOGGER .info ('deleted cloudwatch log group: {}' .format (log_group ))
0 commit comments