diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-05-18 10:53:35 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-05-18 16:07:56 -0400 |
commit | bc52f6ac0c56c9551b58fb5110259d87b3a97056 (patch) | |
tree | b0dbe1fa57c47b7cda6d05dfff64b92a6d49973f /src/lib/Bcfg2/Server/Core.py | |
parent | dbd958c387af890da5e7b455fb409f8e567dce15 (diff) | |
download | bcfg2-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.py | 20 |
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() |