Modify ↓
Ticket #611 (closed defect: fixed)
bcfg2.conf filemonitor specification doesn't seem to work
Reported by: | dclark | Owned by: | desai |
---|---|---|---|
Priority: | minor | Milestone: | Bcfg2 0.9.6 Release |
Component: | bcfg2-client | Version: | |
Keywords: | Cc: |
Description (last modified by dclark) (diff)
In bcfg2.conf [server] section, setting filemonitor = fam or filemonitor = gamin doesn't seem to work.
File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Core.py", line 32, in __init__ self.fam = Bcfg2.Server.FileMonitor.available[filemonitor]() KeyError: True
It looks like the issue is that somewhere filemonitor is being defined as a Boolean instead of a string.
Also once this does work the man page for bcfg2.conf should be updated to add 'pseudo' to the 'gam' and 'famin' options to filemonitor.
See also ticket:536
Attachments
Change History
comment:2 Changed 14 years ago by dclark
This seems to work to force filemonitor to be a string instead of a boolean.
--- Options.py.orig 2008-11-12 23:02:18.000000000 -0500 +++ Options.py 2008-11-12 23:26:40.000000000 -0500 @@ -165,6 +165,7 @@ if c_string: return c_string.split(':') return [] +force_string = lambda x:x.replace(' ','') CFILE = Option('Specify configuration file', DEFAULT_CONFIG_LOCATION, cmd='-C', odesc='<conffile>') @@ -186,7 +187,7 @@ 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', cook=force_string) SERVER_LOCATION = Option('Server Location', cf=('components', 'bcfg2'), default='https://localhost:6789', cmd='-S', odesc='https://server:port')
However setting filemonitor = pseudo causes a whole cascade of errors (below includes output of some print statements for debugging)
filemonitor: pseudo generators: ['SSHbase', 'Cfg', 'Pkgmgr', 'Rules', 'TCheetah', 'TGenshi'] self.fam: <Bcfg2.Server.FileMonitor.PseudoFam object at 0xc8b290> Unexpected instantiation failure for plugin Bundler Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Core.py", line 118, in init_plugins self.plugins[plugin] = plug(self, self.datastore) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Plugins/Bundler.py", line 17, in __init__ Bcfg2.Server.Plugin.XMLDirectoryBacked.__init__(self, self.data, self.core.fam) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Plugin.py", line 157, in __init__ fam.AddMonitor(name, self) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/FileMonitor.py", line 191, in AddMonitor handle = GaminEvent(handleID, path, 'exists') File "/usr/lib/python2.5/site-packages/Bcfg2/Server/FileMonitor.py", line 96, in __init__ action_map = {GAMCreated: 'created', GAMExists: 'exists', GAMChanged: 'changed', NameError: global name 'GAMCreated' is not defined Unexpected instantiation failure for plugin Base Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Core.py", line 118, in init_plugins self.plugins[plugin] = plug(self, self.datastore) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Plugins/Base.py", line 20, in __init__ Bcfg2.Server.Plugin.XMLDirectoryBacked.__init__(self, self.data, self.core.fam) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Plugin.py", line 157, in __init__ fam.AddMonitor(name, self) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/FileMonitor.py", line 191, in AddMonitor handle = GaminEvent(handleID, path, 'exists') File "/usr/lib/python2.5/site-packages/Bcfg2/Server/FileMonitor.py", line 96, in __init__ action_map = {GAMCreated: 'created', GAMExists: 'exists', GAMChanged: 'changed', NameError: global name 'GAMCreated' is not defined Failed to load SGenshi repository; disabling SGenshi Failed to instantiate plugin SGenshi Unexpected instantiation failure for plugin SSHbase Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Core.py", line 118, in init_plugins self.plugins[plugin] = plug(self, self.datastore) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Plugins/SSHbase.py", line 39, in __init__ Bcfg2.Server.Plugin.DirectoryBacked.__init__(self, self.data, self.core.fam) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/Plugin.py", line 157, in __init__ fam.AddMonitor(name, self) File "/usr/lib/python2.5/site-packages/Bcfg2/Server/FileMonitor.py", line 191, in AddMonitor handle = GaminEvent(handleID, path, 'exists') File "/usr/lib/python2.5/site-packages/Bcfg2/Server/FileMonitor.py", line 96, in __init__ action_map = {GAMCreated: 'created', GAMExists: 'exists', GAMChanged: 'changed', [...]
comment:4 Changed 14 years ago by desai
- Status changed from new to closed
- Resolution set to fixed
- Milestone set to Bcfg2 0.9.6 Release
Fixed in [2d772485a34d9076ed60e0e591346cd2d01fb46f] (SVN r4973)
Note: See
TracTickets for help on using
tickets.