From 966fb755dfa55b1f6b5e395607d5680f7daf83fe Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Fri, 25 Apr 2008 16:10:48 +0000 Subject: Save dynamic group data (for use in bcfg2-info) (Patch from zultron) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4561 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Plugins/Metadata.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/Server/Plugins/Metadata.py b/src/lib/Server/Plugins/Metadata.py index 25a6bad1e..851c3bc51 100644 --- a/src/lib/Server/Plugins/Metadata.py +++ b/src/lib/Server/Plugins/Metadata.py @@ -258,6 +258,8 @@ class Metadata(Bcfg2.Server.Plugin.Plugin): for probe in probed: lxml.etree.SubElement(cx, 'Probe', name=probe, value=self.probedata[client][probe]) + for group in self.cgroups[client]: + lxml.etree.SubElement(cx, "Group", name=group) data = lxml.etree.tostring(top) try: datafile = open("%s/%s" % (self.data, 'probed.xml'), 'w') @@ -274,10 +276,15 @@ class Metadata(Bcfg2.Server.Plugin.Plugin): self.logger.error("Failed to read file probed.xml") return self.probedata = {} + self.cgroups = {} for client in data.getchildren(): self.probedata[client.get('name')] = {} + self.cgroups[client.get('name')]=[] for pdata in client: - self.probedata[client.get('name')][pdata.get('name')] = pdata.get('value') + if (pdata.tag == 'Probe'): + self.probedata[client.get('name')][pdata.get('name')] = pdata.get('value') + elif (pdata.tag == 'Group'): + self.cgroups[client.get('name')].append(pdata.get('name')) def resolve_client(self, addresspair): '''Lookup address locally or in DNS to get a hostname''' -- cgit v1.2.3-1-g7c22