From 1e54f5cf6b8167187d9eaa1214f3144f31c74451 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Mon, 10 Jan 2005 17:17:28 +0000 Subject: Made ConfigFileEntry handle exists events for initial data read in. Adding message to log events that don't correspond to known files in ConfigFileEntry. (Logical change 1.183) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@783 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Generators/Cfg.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/lib/Server') diff --git a/src/lib/Server/Generators/Cfg.py b/src/lib/Server/Generators/Cfg.py index 14e46b7f8..77202fa03 100644 --- a/src/lib/Server/Generators/Cfg.py +++ b/src/lib/Server/Generators/Cfg.py @@ -113,10 +113,16 @@ class ConfigFileEntry(object): if action == 'changed': syslog(LOG_INFO, "Cfg: File %s changed" % event.filename) entry.HandleEvent(event) + elif action == 'exists': + entry.HandleEvent(event) elif action == 'deleted': [flist.remove(entry) for flist in [self.basefiles, self.deltas] if entry in flist] else: - syslog(LOG_ERR, "Cfg: Unhandled Action %s for file %s" % (action, event.filename)) + syslog(LOG_ERR, "Cfg: Unhandled Action '%s' for file %s" % (action, event.filename)) + return + + # This code is only reached when an event goes unhandled + syslog(LOG_ERR, "Cfg: Event '%s' when unhandled for file '%s'" %(action, event.filename)) def GetConfigFile(self, entry, metadata): '''Fetch config file from repository''' @@ -172,7 +178,7 @@ class Cfg(Generator): self.famID[reqid] = name self.directories.append(name) - def AddEntry(self, name): + def AddEntry(self, name, event): '''Add new entry to FAM structures''' try: sdata = stat(name)[ST_MODE] @@ -188,7 +194,7 @@ class Cfg(Generator): self.entries[shortname] = ConfigFileEntry(shortname) self.__provides__['ConfigFile'][shortname] = self.entries[shortname].GetConfigFile self.entries[shortname].AddEntry(name) - #self.entries[shortname].HandleEvent() + self.entries[shortname].HandleEvent(event) def HandleEvent(self, event): '''Handle FAM updates''' @@ -199,17 +205,17 @@ class Cfg(Generator): filename = event.filename configfile = filename[len(self.data):-(len(event.filename)+1)] + if event.filename == ':info': + event.filename = filename if ((action in ['exists', 'created']) and (filename != self.data)): - self.AddEntry(filename) + self.AddEntry(filename, event) elif action == 'changed': # pass the event down the chain to the ConfigFileEntry - if event.filename == ':info': - event.filename = filename if self.entries.has_key(configfile): self.entries[configfile].HandleEvent(event) else: if filename != self.data: - self.AddEntry(filename) + self.AddEntry(filename, event) else: self.LogError("Ignoring event for %s"%(configfile)) elif action == 'deleted': -- cgit v1.2.3-1-g7c22