summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Core.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-05-18 10:53:35 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-05-18 16:07:56 -0400
commitbc52f6ac0c56c9551b58fb5110259d87b3a97056 (patch)
treeb0dbe1fa57c47b7cda6d05dfff64b92a6d49973f /src/lib/Bcfg2/Server/Core.py
parentdbd958c387af890da5e7b455fb409f8e567dce15 (diff)
downloadbcfg2-bc52f6ac0c56c9551b58fb5110259d87b3a97056.tar.gz
bcfg2-bc52f6ac0c56c9551b58fb5110259d87b3a97056.tar.bz2
bcfg2-bc52f6ac0c56c9551b58fb5110259d87b3a97056.zip
Added inotify filemonitor driver
Moved list of files to ignore into config
Diffstat (limited to 'src/lib/Bcfg2/Server/Core.py')
-rw-r--r--src/lib/Bcfg2/Server/Core.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py
index d42c5ad4f..c8ef5b1f7 100644
--- a/src/lib/Bcfg2/Server/Core.py
+++ b/src/lib/Bcfg2/Server/Core.py
@@ -67,17 +67,28 @@ class Core(Component):
filemonitor='default', start_fam_thread=False):
Component.__init__(self)
self.datastore = repo
- if filemonitor not in Bcfg2.Server.FileMonitor.available:
+
+ try:
+ fm = Bcfg2.Server.FileMonitor.available[filemonitor]
+ except KeyError:
logger.error("File monitor driver %s not available; "
"forcing to default" % filemonitor)
- filemonitor = 'default'
+ fm = Bcfg2.Server.FileMonitor.available['default']
+ famargs = dict(ignore=[], debug=False)
+ if 'ignore' in setup:
+ famargs['ignore'] = setup['ignore']
+ if 'debug' in setup:
+ famargs['debug'] = setup['debug']
+ elif 'event debug' in setup:
+ famargs['debug'] = setup['event debug']
try:
- self.fam = Bcfg2.Server.FileMonitor.available[filemonitor]()
+ self.fam = fm(**famargs)
except IOError:
logger.error("Failed to instantiate fam driver %s" % filemonitor,
exc_info=1)
- raise CoreInitError("failed to instantiate fam driver (used %s)" % \
+ raise CoreInitError("Failed to instantiate fam driver (used %s)" %
filemonitor)
+
self.pubspace = {}
self.cfile = cfile
self.cron = {}
@@ -198,6 +209,7 @@ class Core(Component):
"""Shutting down the plugins."""
if not self.terminate.isSet():
self.terminate.set()
+ self.fam.shutdown()
for plugin in list(self.plugins.values()):
plugin.shutdown()