@@ -58,28 +58,42 @@ def handler(signum, frame):
5858@contextmanager
5959def timeout_and_delete_endpoint_by_name (endpoint_name , sagemaker_session , seconds = 0 , minutes = 35 , hours = 0 ):
6060 with timeout (seconds = seconds , minutes = minutes , hours = hours ) as t :
61+ no_errors = False
6162 try :
6263 yield [t ]
64+ no_errors = True
6365 finally :
6466 try :
6567 sagemaker_session .delete_endpoint (endpoint_name )
6668 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 )
6873 except ClientError as ce :
6974 if ce .response ['Error' ]['Code' ] == 'ValidationException' :
7075 # avoids the inner exception to be overwritten
7176 pass
7277
7378
74- def _cleanup_endpoint_logs (endpoint_name , sagemaker_session ):
79+ def _show_endpoint_logs (endpoint_name , sagemaker_session ):
7580 log_group = '/aws/sagemaker/Endpoints/{}' .format (endpoint_name )
7681 try :
7782 # print out logs before deletion for debuggability
7883 LOGGER .info ('cloudwatch logs for log group {}:' .format (log_group ))
7984 logs = AWSLogs (log_group_name = log_group , log_stream_name = 'ALL' , start = '1d' ,
8085 aws_region = sagemaker_session .boto_session .region_name )
8186 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+
8291
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 ))
8397 cwl_client = sagemaker_session .boto_session .client ('logs' )
8498 cwl_client .delete_log_group (logGroupName = log_group )
8599 LOGGER .info ('deleted cloudwatch log group: {}' .format (log_group ))
0 commit comments