diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2007-04-16 18:02:41 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2007-04-16 18:02:41 +0000 |
commit | 36f33818ca07a008febf79fb057f023e6d643144 (patch) | |
tree | 3de0bcc1060d7b3263aa0147e30c4fab4dd74d98 /src | |
parent | 52e4f75ac46ff4b98f349eadd8f2b90463a07c9a (diff) | |
download | bcfg2-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.py | 8 |
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: |