summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2007-04-16 18:02:41 +0000
committerNarayan Desai <desai@mcs.anl.gov>2007-04-16 18:02:41 +0000
commit36f33818ca07a008febf79fb057f023e6d643144 (patch)
tree3de0bcc1060d7b3263aa0147e30c4fab4dd74d98 /src
parent52e4f75ac46ff4b98f349eadd8f2b90463a07c9a (diff)
downloadbcfg2-36f33818ca07a008febf79fb057f023e6d643144.tar.gz
bcfg2-36f33818ca07a008febf79fb057f023e6d643144.tar.bz2
bcfg2-36f33818ca07a008febf79fb057f023e6d643144.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/lib/Server/Plugins/Metadata.py8
1 files changed, 6 insertions, 2 deletions
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: