From 36f33818ca07a008febf79fb057f023e6d643144 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Mon, 16 Apr 2007 18:02:41 +0000 Subject: Fix address-based issue with client renames (reported by pflores) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@3042 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Plugins/Metadata.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lib/Server/Plugins/Metadata.py b/src/lib/Server/Plugins/Metadata.py index d5ec3519f..98ae0fb25 100644 --- a/src/lib/Server/Plugins/Metadata.py +++ b/src/lib/Server/Plugins/Metadata.py @@ -107,6 +107,7 @@ class Metadata(Bcfg2.Server.Plugin.Plugin): self.bad_clients = {} self.secure = [] self.floating = [] + self.addresses = {} self.clientdata = xdata for client in xdata.findall('.//Client'): if 'address' in client.attrib: @@ -294,7 +295,7 @@ class Metadata(Bcfg2.Server.Plugin.Plugin): uuid = uuids[0] else: uuid = None - for group in self.cgroups.get(client, []): + for group in self.cgroups.get(client, []): if self.groups.has_key(group): nbundles, ngroups, ncategories = self.groups[group] else: @@ -349,7 +350,10 @@ class Metadata(Bcfg2.Server.Plugin.Plugin): '''This function checks user and password''' if user == 'root': # we aren't using per-client keys - client = self.resolve_client(address) + try: + client = self.resolve_client(address) + except MetadataConsistencyError: + self.logger.error("Client %s failed to authenticate due to metadata problem" % (address)) else: # user maps to client if user not in self.uuid: -- cgit v1.2.3-1-g7c22