From 38ec6a9db64a3bf6e0128a4c1031be4a0a733b59 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Wed, 28 Jun 2006 19:30:46 +0000 Subject: Pass current failure information to server in statistics git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@1900 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Client/Toolset.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/lib/Client/Toolset.py b/src/lib/Client/Toolset.py index 2e5d12ed9..52e7c451a 100644 --- a/src/lib/Client/Toolset.py +++ b/src/lib/Client/Toolset.py @@ -183,15 +183,27 @@ class Toolset(object): # List bad elements of the configuration if dirty: bad_elms = lxml.etree.SubElement(stats, "Bad") - for elm in [key for key, val in self.states.iteritems() if not val]: - if elm.get('name') == None: - lxml.etree.SubElement(bad_elms, elm.tag) - else: - lxml.etree.SubElement(bad_elms, elm.tag, name=elm.get('name')) + for ent in [key for key, val in self.states.iteritems() if not val]: + newent = lxml.etree.SubElement(bad_elms, ent.tag, name=ent.get('name', 'None')) + for field in [item for item in 'current_exists', 'current_diff' if item in ent.attrib]: + newent.set(field, ent.get(field)) + del ent.attrib[field] + failures = [key for key in ent.attrib if key[:8] == 'current_'] + for fail in failures: + for field in [fail, fail[8:]]: + print ent.get('name'), field + newent.set(field, ent.get(field)) if self.modified: mod = lxml.etree.SubElement(stats, "Modified") - for elm in self.modified: - lxml.etree.SubElement(mod, elm.tag, name=elm.get('name')) + for ent in self.modified: + newent = lxml.etree.SubElement(mod, ent.tag, name=ent.get('name')) + for field in [item for item in 'current_exists', 'current_diff' if item in ent.attrib]: + newent.set(field, ent.get(field)) + del ent.attrib[field] + failures = [key for key in ent.attrib if key[:8] == 'current_'] + for fail in failures: + for field in [fail, fail[8:]]: + newent.set(field, ent.get(field)) if self.extra_services + self.pkgwork['remove']: extra = lxml.etree.SubElement(stats, "Extra") [lxml.etree.SubElement(extra, "Service", name=svc) for svc in self.extra_services] -- cgit v1.2.3-1-g7c22