Skip to content

Commit c1a063e

Browse files
authored
Do not delete CW logs for endpoints. (#165)
Keep the logs for failed tests only.
1 parent 0f594b1 commit c1a063e

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

tests/integ/timeout.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,28 +58,42 @@ def handler(signum, frame):
5858
@contextmanager
5959
def 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

Comments
 (0)