From ba259ca4de0b77e20c5e8e948119b2ac98bd385a Mon Sep 17 00:00:00 2001 From: Andrew Brestick Date: Thu, 26 Jun 2008 18:56:15 +0000 Subject: fix alias issues in metadata plugin and in bcfg2-admin client mode git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4721 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Admin/Client.py | 3 +++ src/lib/Server/Plugins/Metadata.py | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/Server/Admin/Client.py b/src/lib/Server/Admin/Client.py index c4f931350..618e5b826 100644 --- a/src/lib/Server/Admin/Client.py +++ b/src/lib/Server/Admin/Client.py @@ -72,4 +72,7 @@ class Client(Bcfg2.Server.Admin.Mode): for node in self.root: if node.attrib["name"] == client: return node + for child in node: + if child.tag == "Alias" and child.attrib["name"] == client: + return node return None diff --git a/src/lib/Server/Plugins/Metadata.py b/src/lib/Server/Plugins/Metadata.py index 9f8b641cc..a5084e0d3 100644 --- a/src/lib/Server/Plugins/Metadata.py +++ b/src/lib/Server/Plugins/Metadata.py @@ -246,7 +246,12 @@ class Metadata(Bcfg2.Server.Plugin.MetadataPlugin, if profile not in self.public: self.logger.error("Failed to set client %s to private group %s" % (client, profile)) raise MetadataConsistencyError - if self.clients.has_key(client): + # resolve aliases + for node in self.clients: + for child in node: + if child.tag == "Alias" and child.attrib["name"] == client: + client = node.attrib["name"] + if self.clients.has_key(client): self.logger.info("Changing %s group from %s to %s" % (client, self.clients[client], profile)) cli = self.clientdata.xpath('.//Clients/Client[@name="%s"]' % (client)) cli[0].set('profile', profile) -- cgit v1.2.3-1-g7c22