From 0801ea2b6750d63b73d5d7231fa07f47f4f9ca61 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 20 Jul 2019 20:02:14 +0300 Subject: [PATCH] selfcheck.py: catch some more exceptions --- clever/src/selfcheck.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/clever/src/selfcheck.py b/clever/src/selfcheck.py index 54ccd77d..6e62ab35 100755 --- a/clever/src/selfcheck.py +++ b/clever/src/selfcheck.py @@ -606,10 +606,16 @@ def check_cpu_usage(): @check('clever.service') def check_clever_service(): - output = subprocess.check_output('systemctl show -p ActiveState --value clever.service'.split()) + try: + output = subprocess.check_output('systemctl show -p ActiveState --value clever.service'.split(), + stderr=subprocess.STDOUT) + except subprocess.CalledProcessError as e: + failure('systemctl returned %s: %s', e.returncode, e.output) + return if 'inactive' in output: failure('clever.service is not running, try sudo systemctl restart clever') return + j = journal.Reader() j.this_boot() j.add_match(_SYSTEMD_UNIT='clever.service') @@ -632,7 +638,10 @@ def check_clever_service(): @check('Image') def check_image(): - info('version: %s', open('/etc/clever_version').read().strip()) + try: + info('version: %s', open('/etc/clever_version').read().strip()) + except IOError: + info('no /etc/clever_version file, not the Clever image?') @check('Preflight status')