Permalink
Browse files

Adds Error Handling to swift-drive-audit for missing or unreadable /v…

…ar/log/kern.log

Fixes Bug 1049081

Change-Id: If977080350cc5cdb6bc633b6af7d3c490ed23d46
  • Loading branch information...
andymcc committed Sep 11, 2012
1 parent 3482eb2 commit 463da7e170bb185fd80862c948ab73d24ed7f9d5
Showing with 20 additions and 14 deletions.
  1. +1 −0 AUTHORS
  2. +19 −14 bin/swift-drive-audit
View
@@ -52,6 +52,7 @@ Dragos Manolescu (dragosm@hp.com)
Juan J. Martinez (juan@memset.com)
Marcelo Martins (btorch@gmail.com)
Donagh McCabe (donagh.mccabe@hp.com)
+Andy McCrae (andy.mccrae@gmail.com)
Paul McMillan (paul.mcmillan@nebula.com)
Ewan Mellor (ewan.mellor@citrix.com)
Samuel Merritt (sam@swiftstack.com)
View
@@ -63,20 +63,25 @@ def get_devices(device_dir, logger):
def get_errors(minutes):
errors = {}
start_time = datetime.datetime.now() - datetime.timedelta(minutes=minutes)
- for line in open('/var/log/kern.log'):
- if '[ 0.000000]' in line:
- # Ignore anything before the last boot
- errors = {}
- continue
- log_time_string = '%s %s' % (start_time.year,
- ' '.join(line.split()[:3]))
- log_time = datetime.datetime.strptime(
- log_time_string, '%Y %b %d %H:%M:%S')
- if log_time > start_time:
- for err in error_re:
- for device in err.findall(line):
- errors[device] = errors.get(device, 0) + 1
- return errors
+ try:
+ for line in open('/var/log/kern.log'):
+ if '[ 0.000000]' in line:
+ # Ignore anything before the last boot
+ errors = {}
+ continue
+ log_time_string = '%s %s' % (start_time.year,
+ ' '.join(line.split()[:3]))
+ log_time = datetime.datetime.strptime(
+ log_time_string, '%Y %b %d %H:%M:%S')
+ if log_time > start_time:
+ for err in error_re:
+ for device in err.findall(line):
+ errors[device] = errors.get(device, 0) + 1
+ return errors
+ except IOError:
+ logger.error("Error: Unable to open /var/log/kern.log")
+ print("Unable to open /var/log/kern.log")
+ sys.exit(1)
def comment_fstab(mount_point):

0 comments on commit 463da7e

Please sign in to comment.