diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2014-03-04 07:46:46 -0500 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2014-03-04 07:46:46 -0500 |
commit | f76ee4bae4d8a45cc2050b8219cdf7f2e8c6533d (patch) | |
tree | 2d475325c15b883c2af7da40a6ff82ecb73bcbc9 /src | |
parent | b1b2b53f484d266089d9f043042729e29245382a (diff) | |
download | bcfg2-f76ee4bae4d8a45cc2050b8219cdf7f2e8c6533d.tar.gz bcfg2-f76ee4bae4d8a45cc2050b8219cdf7f2e8c6533d.tar.bz2 bcfg2-f76ee4bae4d8a45cc2050b8219cdf7f2e8c6533d.zip |
bcfg2-report-collector: better error messages when failing to daemonize
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Bcfg2/Reporting/Collector.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Reporting/Collector.py b/src/lib/Bcfg2/Reporting/Collector.py index 2859eca28..8ca145f16 100644 --- a/src/lib/Bcfg2/Reporting/Collector.py +++ b/src/lib/Bcfg2/Reporting/Collector.py @@ -1,3 +1,4 @@ +import sys import atexit import daemon import logging @@ -6,6 +7,7 @@ import traceback import threading # pylint: disable=E0611 +from lockfile import LockFailed, LockTimeout try: from lockfile.pidlockfile import PIDLockFile from lockfile import Error as PIDFileError @@ -119,6 +121,17 @@ class ReportingCollector(object): try: self.context.pidfile = PIDLockFile(self.setup['daemon']) self.context.open() + except LockFailed: + self.logger.error("Failed to daemonize: %s" % + sys.exc_info()[1]) + self.shutdown() + return + except LockTimeout: + self.logger.error("Failed to daemonize: " + "Failed to acquire lock on %s" % + self.setup['daemon']) + self.shutdown() + return except PIDFileError: self.logger.error("Error writing pid file: %s" % traceback.format_exc().splitlines()[-1]) |