summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSol Jerome <solj@ices.utexas.edu>2009-09-24 04:00:01 +0000
committerSol Jerome <solj@ices.utexas.edu>2009-09-24 04:00:01 +0000
commit7eb951a59f1d32225e245dc61d6195e977d85624 (patch)
treed3d1d441a670476ba6f63aaa973fe25bd7043fec
parentf29a45fb753ec1f8883d66107ea25a4545a5e0d1 (diff)
downloadbcfg2-7eb951a59f1d32225e245dc61d6195e977d85624.tar.gz
bcfg2-7eb951a59f1d32225e245dc61d6195e977d85624.tar.bz2
bcfg2-7eb951a59f1d32225e245dc61d6195e977d85624.zip
Decisions: Catch initialization error for non-existent Decisions directory
Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5456 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r--src/lib/Server/Plugins/Decisions.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/Server/Plugins/Decisions.py b/src/lib/Server/Plugins/Decisions.py
index 101a85fba..95db433a7 100644
--- a/src/lib/Server/Plugins/Decisions.py
+++ b/src/lib/Server/Plugins/Decisions.py
@@ -1,4 +1,7 @@
-import Bcfg2.Server.Plugin, lxml.etree
+import logging
+import lxml.etree
+import Bcfg2.Server.Plugin
+logger = logging.getLogger('Bcfg2.Plugins.Decisions')
class DecisionFile(Bcfg2.Server.Plugin.SpecificData):
def handle_event(self, event):
@@ -20,7 +23,12 @@ class DecisionSet(Bcfg2.Server.Plugin.EntrySet):
pattern = '(white|black)list'
Bcfg2.Server.Plugin.EntrySet.__init__(self, pattern, path, \
DecisionFile, encoding)
- fam.AddMonitor(path, self)
+ try:
+ fam.AddMonitor(path, self)
+ except OSError, e:
+ logger.error('Adding filemonitor for %s failed. '
+ 'Make sure directory exists' % path)
+ raise Bcfg2.Server.Plugin.PluginInitError(e)
def HandleEvent(self, event):
if event.filename != self.path: