diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-03-25 13:31:21 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-03-25 13:31:21 -0400 |
commit | 9c603d8267c0a511968a8a553d7fa0b2d5bf9b73 (patch) | |
tree | c473a7615586dc22d585bda67e118ed2fe535754 /src/lib/Bcfg2/Server/Plugins/NagiosGen.py | |
parent | 3dc289678812238c2fcc54098b1d8de9bf64f900 (diff) | |
download | bcfg2-9c603d8267c0a511968a8a553d7fa0b2d5bf9b73.tar.gz bcfg2-9c603d8267c0a511968a8a553d7fa0b2d5bf9b73.tar.bz2 bcfg2-9c603d8267c0a511968a8a553d7fa0b2d5bf9b73.zip |
Handle FAM monitor failures more gracefully:
* Where possible, create the file or directory that is about to be
monitored. This ensures that content can be added later without
need to restart Bcfg2. (Otherwise, adding the monitor would fail,
and so when you did create the file in question, bcfg2-server would
never be notified of it.)
* When not possible, give better error messages.
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/NagiosGen.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/NagiosGen.py | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/NagiosGen.py b/src/lib/Bcfg2/Server/Plugins/NagiosGen.py index c39bd4c42..466665382 100644 --- a/src/lib/Bcfg2/Server/Plugins/NagiosGen.py +++ b/src/lib/Bcfg2/Server/Plugins/NagiosGen.py @@ -5,26 +5,9 @@ import re import sys import glob import socket -import logging import Bcfg2.Server import Bcfg2.Server.Plugin -LOGGER = logging.getLogger(__name__) - - -class NagiosGenConfig(Bcfg2.Server.Plugin.StructFile): - """ NagiosGen config file handler """ - - def __init__(self, filename, fam): - # create config.xml if missing - if not os.path.exists(filename): - LOGGER.warning("NagiosGen: %s missing. " - "Creating empty one for you." % filename) - open(filename, "w").write("<NagiosGen></NagiosGen>") - - Bcfg2.Server.Plugin.StructFile.__init__(self, filename, fam=fam, - should_monitor=True) - class NagiosGen(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Generator): @@ -36,8 +19,11 @@ class NagiosGen(Bcfg2.Server.Plugin.Plugin, def __init__(self, core, datastore): Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore) Bcfg2.Server.Plugin.Generator.__init__(self) - self.config = NagiosGenConfig(os.path.join(self.data, 'config.xml'), - core.fam) + self.config = \ + Bcfg2.Server.Plugin.StructFile(os.path.join(self.data, + 'config.xml'), + core.fam, should_monitor=True, + create=self.name) self.Entries = {'Path': {'/etc/nagiosgen.status': self.createhostconfig, '/etc/nagios/nagiosgen.cfg': self.createserverconfig}} |