Adds Error Handling to swift-drive-audit for missing or unreadable /var/log/kern.log

Fixes Bug 1049081

Change-Id: If977080350cc5cdb6bc633b6af7d3c490ed23d46
This commit is contained in:
Andy McCrae 2012-09-11 14:22:11 +00:00
parent 3482eb26f9
commit 463da7e170
2 changed files with 20 additions and 14 deletions

View File

@ -52,6 +52,7 @@ Dragos Manolescu (dragosm@hp.com)
Juan J. Martinez (juan@memset.com) Juan J. Martinez (juan@memset.com)
Marcelo Martins (btorch@gmail.com) Marcelo Martins (btorch@gmail.com)
Donagh McCabe (donagh.mccabe@hp.com) Donagh McCabe (donagh.mccabe@hp.com)
Andy McCrae (andy.mccrae@gmail.com)
Paul McMillan (paul.mcmillan@nebula.com) Paul McMillan (paul.mcmillan@nebula.com)
Ewan Mellor (ewan.mellor@citrix.com) Ewan Mellor (ewan.mellor@citrix.com)
Samuel Merritt (sam@swiftstack.com) Samuel Merritt (sam@swiftstack.com)

View File

@ -63,6 +63,7 @@ def get_devices(device_dir, logger):
def get_errors(minutes): def get_errors(minutes):
errors = {} errors = {}
start_time = datetime.datetime.now() - datetime.timedelta(minutes=minutes) start_time = datetime.datetime.now() - datetime.timedelta(minutes=minutes)
try:
for line in open('/var/log/kern.log'): for line in open('/var/log/kern.log'):
if '[ 0.000000]' in line: if '[ 0.000000]' in line:
# Ignore anything before the last boot # Ignore anything before the last boot
@ -77,6 +78,10 @@ def get_errors(minutes):
for device in err.findall(line): for device in err.findall(line):
errors[device] = errors.get(device, 0) + 1 errors[device] = errors.get(device, 0) + 1
return errors 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): def comment_fstab(mount_point):