housekeeping and cleanups...

This commit is contained in:
Johannes Findeisen 2013-05-30 04:20:35 +02:00
commit 63c4b4aa98
5 changed files with 23 additions and 33 deletions

View file

@ -52,7 +52,7 @@ def parseHostGroupList(hostgroups, hosts, members, periods, services, log):
if service is not None: if service is not None:
services.append(service) services.append(service)
else: else:
log.w("could not find HostService(" +str(serviceName) + ") for host " + host.name) log.w("could not find HostService(" + str(serviceName) + ") for host " + host.name)
hostGroupPeriods = [p for p in periods if p.name in servicePeriods] hostGroupPeriods = [p for p in periods if p.name in servicePeriods]
hostGroup.services.append(HostGroupService(services, hostGroupPeriods)) hostGroup.services.append(HostGroupService(services, hostGroupPeriods))
parsedHostGroups.append(hostGroup) parsedHostGroups.append(hostGroup)

View file

@ -45,12 +45,12 @@ class HostService:
ret += "warning: " + str(self.warning) ret += "warning: " + str(self.warning)
if self.critical: if self.critical:
ret += "critical: " + str(self.critical) ret += "critical: " + str(self.critical)
return ret; return ret
def parseHostList(hosts, services, log): def parseHostList(hosts, services, log):
""" """
parse the HostList and replace any command as nessesary parse the HostList and replace any command as necessary
""" """
#precompiled regexPattern which finds replacements in service strings #precompiled regexPattern which finds replacements in service strings
pattern = re.compile("@(\w+)") pattern = re.compile("@(\w+)")
@ -97,7 +97,7 @@ def parseHostList(hosts, services, log):
#host will not be inside ServiceParameters, so check this also #host will not be inside ServiceParameters, so check this also
if 'host' in replacements: if 'host' in replacements:
log.d("replacing host in " + hostService.getCommand()) log.d("replacing host in " + hostService.getCommand())
comm= re.sub('@host', host.host, hostService.getCommand()) comm = re.sub('@host', host.host, hostService.getCommand())
hostService.setCommand(comm) hostService.setCommand(comm)
log.d("new Command: " +comm) log.d("new Command: " +comm)
log.d("set in hostService: " + str(hostService)) log.d("set in hostService: " + str(hostService))

View file

@ -10,19 +10,19 @@ class Command:
self.output = None self.output = None
self.error = None self.error = None
self.retcode = 0 self.retcode = 0
self.commandStart=0 self.commandStart = 0
def __str__(self): def __str__(self):
return self.command return self.command
def call(self): def call(self):
'''
self.commandStart = dt.now() # self.commandStart = dt.now()
"called at: " # "called at: "
process = sp.Popen(stdout=PIPE, *popenargs, **kwargs) # process = sp.Popen(stdout=PIPE, *popenargs, **kwargs)
self.output, self.error = process.communicate() # self.output, self.error = process.communicate()
self.retcode = process.poll() # self.retcode = process.poll()
'''
try: try:
self.commandStart = dt.now() self.commandStart = dt.now()
self.log.i("calling command " + str(self.command) + " at " + str(self.commandStart)) self.log.i("calling command " + str(self.command) + " at " + str(self.commandStart))
@ -33,10 +33,9 @@ class Command:
self.log.d(str(self.error)) self.log.d(str(self.error))
self.retcode = process.poll() self.retcode = process.poll()
except CalledProcessError: except CalledProcessError:
self.error=CalledProcessError.output self.error = CalledProcessError.output
self.retcode = CalledProcessError.returncode self.retcode = CalledProcessError.returncode
def getOutput(self): def getOutput(self):
return self.output return self.output
@ -47,5 +46,4 @@ class Command:
return str(self.output) + str(self.error) + str(self.retcode) return str(self.output) + str(self.error) + str(self.retcode)
def getReturnCode(self): def getReturnCode(self):
return self.retcode return self.retcode

View file

@ -5,11 +5,13 @@ execute.
from command import Command from command import Command
def generateId(): def generateId():
i=0 i = 0
while True: while True:
yield i yield i
i+=1 i += 1
class JobInfo: class JobInfo:
def __init__(self, hostgroupname, members, hosts, hostServices, threshold, parent=None): def __init__(self, hostgroupname, members, hosts, hostServices, threshold, parent=None):
@ -46,18 +48,8 @@ class JobInfo:
for hs in self.hostServices: for hs in self.hostServices:
self.log.d(str(hs)) self.log.d(str(hs))
cmd=Command(hs.service.command, self.log) cmd = Command(hs.service.command, self.log)
cmd.call() cmd.call()
self.log.d(cmd.getAllOutput()) self.log.d(cmd.getAllOutput())
except Exception: except Exception:
self.log.d(Exception) self.log.d(Exception)
#must find real service command stored in hosts...
#but because of error, mentioned in NOTES,ruff, there is no ping i.e.
#cmd = Command(service.command)
#self.log.d("executing command: " + str(command))
#cmd.call()
#return cmd

View file

@ -89,4 +89,4 @@ def main():
if __name__ == "__main__": if __name__ == "__main__":
main() main()