From 7130bc3cca133674f0fc54145755abb040f55ec7 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Fri, 28 Dec 2007 19:11:57 +0000 Subject: Add new text pattern to ignore for Chkconfig (Resolves Ticket #505) [bugfix] git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4120 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Client/Tools/Chkconfig.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/lib/Client/Tools/Chkconfig.py') diff --git a/src/lib/Client/Tools/Chkconfig.py b/src/lib/Client/Tools/Chkconfig.py index b068b89af..0f29aca34 100644 --- a/src/lib/Client/Tools/Chkconfig.py +++ b/src/lib/Client/Tools/Chkconfig.py @@ -16,17 +16,21 @@ class Chkconfig(Bcfg2.Client.Tools.SvcTool): def VerifyService(self, entry, _): '''Verify Service status for entry''' try: - srvdata = self.cmd.run('/sbin/chkconfig --list %s | grep -v "unknown service"' - % entry.attrib['name'])[1][0].split() + cmd = "/sbin/chkconfig --list %s " % (entry.get('name')) + raw = self.cmd.run(cmd)[1][0] + patterns = ["error reading information", "unknown service"] + srvdata = [line.split() for line in raw for pattern in patterns \ + if pattern not in line] except IndexError: # Ocurrs when no lines are returned (service not installed) entry.set('current_status', 'off') return False - if entry.attrib['type'] == 'xinetd': - return entry.attrib['status'] == srvdata[1] + if entry.get('type') == 'xinetd': + return entry.get('status') == srvdata[1] try: - onlevels = [level.split(':')[0] for level in srvdata[1:] if level.split(':')[1] == 'on'] + onlevels = [level.split(':')[0] for level in srvdata[1:] \ + if level.split(':')[1] == 'on'] except IndexError: onlevels = [] -- cgit v1.2.3-1-g7c22