From 83f172afaeda2fbec7105c81950ebc3ef4ac8053 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Mon, 21 Aug 2006 20:53:26 +0000 Subject: Fix probe data response code git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2078 ce84e21b-d406-0410-9b95-82705330c041 --- src/sbin/bcfg2-server | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/sbin/bcfg2-server b/src/sbin/bcfg2-server index aeec85cbf..1035e5f41 100755 --- a/src/sbin/bcfg2-server +++ b/src/sbin/bcfg2-server @@ -144,15 +144,20 @@ class Bcfg2Serv(Bcfg2.Server.Component.Component): def Bcfg2RecvProbeData(self, address, probedata): '''Receive probe data from clients''' client = self.resolve_client(address[0]) - - for data in probedata: - try: - [generator] = [gen for gen in self.Core.generators if gen.__name__ == data.get('source')] - generator.ReceiveData(client, data) - except IndexError: + try: + xpdata = XML(probedata) + except: + self.logger.error("Failed to parse probe data from client %s" % (client)) + return False + + for data in xpdata: + if self.Core.Plugins.has_key(data.get('source')): + try: + self.Core.Plugins[data.get('source')].ReceiveData(client, data) + except: + self.logger.error("Failed to process probe data from client %s" % (client), exc_info=1) + else: self.logger.warning("Failed to locate plugin %s" % (data.get('source'))) - except: - critical_error('error in probe data receipt') return True def Bcfg2AssertProfile(self, address, profile): -- cgit v1.2.3-1-g7c22