From 2d772485a34d9076ed60e0e591346cd2d01fb46f Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Thu, 13 Nov 2008 17:13:37 +0000 Subject: Harden file monitoring option handling (Resolves Ticket #611 and reresolves #536) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4973 ce84e21b-d406-0410-9b95-82705330c041 --- man/bcfg2.conf.5 | 2 +- src/lib/Options.py | 2 +- src/lib/Server/Core.py | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/man/bcfg2.conf.5 b/man/bcfg2.conf.5 index 98069f7de..99ebfb78d 100644 --- a/man/bcfg2.conf.5 +++ b/man/bcfg2.conf.5 @@ -45,7 +45,7 @@ A list of enabled bundles .TP .B filemonitor -The file monitor used to watch for changes in the repository. Either 'gamin' or 'fam'. +The file monitor used to watch for changes in the repository. Values of 'gamin', 'fam', or 'pseudo' are valid. .SH STATISTICS OPTIONS Server-only, specified in the [statistics] section. These options control the statistics collection functionality of the server. diff --git a/src/lib/Options.py b/src/lib/Options.py index 54ff8bbcb..43f86956e 100644 --- a/src/lib/Options.py +++ b/src/lib/Options.py @@ -186,7 +186,7 @@ SERVER_GENERATORS = Option('Server generator list', cf=('server', 'generators'), SERVER_STRUCTURES = Option('Server structure list', cf=('server', 'structures'), default=['Bundler', 'Base'], cook=list_split) SERVER_FILEMONITOR = Option('Server file monitor', cf=('server', 'filemonitor'), - default='default') + default='default', odesc='File monitoring driver') SERVER_LOCATION = Option('Server Location', cf=('components', 'bcfg2'), default='https://localhost:6789', cmd='-S', odesc='https://server:port') diff --git a/src/lib/Server/Core.py b/src/lib/Server/Core.py index e6d71c3bd..bd09dc53b 100644 --- a/src/lib/Server/Core.py +++ b/src/lib/Server/Core.py @@ -28,6 +28,9 @@ class Core(object): encoding, filemonitor='default'): object.__init__(self) self.datastore = repo + if filemonitor not in Bcfg2.Server.FileMonitor.available: + logger.error("File monitor driver %s not available; forcing to default" % filemonitor) + filemonitor = 'default' try: self.fam = Bcfg2.Server.FileMonitor.available[filemonitor]() except IOError: -- cgit v1.2.3-1-g7c22