Skip to content

Commit a1b884d

Browse files
committed
Added error logging to track down 2.6 exception.
1 parent 87eb392 commit a1b884d

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

lambda/backuplambda.py

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import boto3
44
from datetime import datetime
5-
import sys
5+
import sys, traceback
66
import logging
77
import json
88
import pytz
@@ -43,6 +43,9 @@ def list_snapshots_for_resource(self, resource):
4343
def resolve_backupable_id(self, resource):
4444
pass
4545

46+
def resolve_snapshot_name(self, resource):
47+
pass
48+
4649
def resolve_snapshot_time(self, resource):
4750
return resource['StartTime']
4851

@@ -86,9 +89,12 @@ def process_backup(self):
8689
self.snapshot_resource(resource=backup_item, description=description, tags=tags_volume)
8790
self.message += ' New Snapshot created with description: %s and tags: %s\n' % (description, str(tags_volume))
8891
total_creates += 1
89-
except Exception, e:
92+
except Exception as e:
9093
print ("Unexpected error:", sys.exc_info()[0])
9194
print (e)
95+
exc_type, exc_value, exc_traceback = sys.exc_info()
96+
traceback.print_exception(exc_type, exc_value, exc_traceback,
97+
limit=2, file=sys.stdout)
9298
pass
9399

94100
snapshots = self.list_snapshots_for_resource(resource=backup_item)
@@ -123,6 +129,9 @@ def process_backup(self):
123129
except Exception as ex:
124130
print("Unexpected error:", sys.exc_info()[0])
125131
print(ex)
132+
exc_type, exc_value, exc_traceback = sys.exc_info()
133+
traceback.print_exception(exc_type, exc_value, exc_traceback,
134+
limit=2, file=sys.stdout)
126135
logging.error('Error in processing volume with id: ' + backup_id)
127136
self.errmsg += 'Error in processing volume with id: ' + backup_id
128137
count_errors += 1
@@ -409,13 +418,6 @@ def lambda_handler(event, context={}):
409418

410419
date_suffix = datetime.today().strftime(period_format)
411420

412-
sns_boto = None
413-
414-
# Connect to SNS
415-
if sns_arn or error_sns_arn:
416-
print('Connecting to SNS')
417-
sns_boto = boto3.client('sns', region_name=ec2_region_name)
418-
419421
result = event
420422
if ec2_region_name:
421423
backup_mgr = EC2BackupManager(ec2_region_name=ec2_region_name,
@@ -431,6 +433,13 @@ def lambda_handler(event, context={}):
431433
result["ec2_backup_result"] = backup_mgr.message
432434
print('\n' + backup_mgr.message + '\n')
433435

436+
sns_boto = None
437+
438+
# Connect to SNS
439+
if sns_arn or error_sns_arn:
440+
print('Connecting to SNS')
441+
sns_boto = boto3.client('sns', region_name=ec2_region_name)
442+
434443
if error_sns_arn and backup_mgr.errmsg:
435444
sns_boto.publish(error_sns_arn, 'Error in processing volumes: ' + backup_mgr.errmsg, 'Error with AWS Snapshot')
436445

@@ -451,6 +460,13 @@ def lambda_handler(event, context={}):
451460
result["rds_backup_result"] = backup_mgr.message
452461
print('\n' + backup_mgr.message + '\n')
453462

463+
sns_boto = None
464+
465+
# Connect to SNS
466+
if sns_arn or error_sns_arn:
467+
print('Connecting to SNS')
468+
sns_boto = boto3.client('sns', region_name=rds_region_name)
469+
454470
if error_sns_arn and backup_mgr.errmsg:
455471
sns_boto.publish(error_sns_arn, 'Error in processing RDS: ' + backup_mgr.errmsg, 'Error with AWS Snapshot')
456472

0 commit comments

Comments
 (0)