X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=mailmonitor.py;h=8af368abe834e9f816754f8aefb862ddb5fcbd23;hb=4d56ef5473c6486c321dd2797be45b45b0606dae;hp=48fa5144a9e890ac3e165efec4b0759bbd474597;hpb=ba13a26ca34a27264efe3b97a9906f5b88f8fade;p=monitor.git diff --git a/mailmonitor.py b/mailmonitor.py index 48fa514..8af368a 100644 --- a/mailmonitor.py +++ b/mailmonitor.py @@ -6,19 +6,17 @@ # # $Id: monitor.py,v 1.7 2007/07/03 19:59:02 soltesz Exp $ -import database - -from monitor_policy import * -import rt import sys -import plc -api = plc.getAuthAPI() +from monitor import database +from monitor.wrapper import rt +from monitor.wrapper import plc +from monitor.policy import * -from clean_policy import * +api = plc.getAuthAPI() def reboot(hostname): - print "calling reboot!!! %s " % hostname + print "CALLING: mailmonitor.reboot(%s)" % hostname l_nodes = api.GetNodes(hostname) if len(l_nodes) == 0: @@ -31,72 +29,11 @@ def reboot(hostname): if len(l_nodes) == 0: raise Exception("Host removed via blacklist: %s" % hostname) - ad_dbTickets = database.if_cached_else_refresh(True, False, "ad_dbTickets", lambda : []) - if ad_dbTickets == None: - raise Exception("Could not find cached dbTickets") - - print "starting new thing" mon = MonitorMergeDiagnoseSendEscellate(hostname, True) mon.run() - #print "merge" - #merge = Merge( [node['hostname'] for node in l_nodes]) - #record_list = merge.run() - ##print "rt" - #rt = RT(record_list, ad_dbTickets, l_ticket_blacklist) - #record_list = rt.run() - ##print "diagnose" - #diag = Diagnose(record_list) - #diagnose_out = diag.run() - #print diagnose_out - #print "action" - #action = Action(diagnose_out) - #action.run() - - return True - -def reboot2(hostname): - l_nodes = api.GetNodes(hostname) - if len(l_nodes) == 0: - raise Exception("No such host: %s" % hostname) - - l_blacklist = database.if_cached_else(1, "l_blacklist", lambda : []) - l_ticket_blacklist = database.if_cached_else(1,"l_ticket_blacklist",lambda : []) - - l_nodes = filter(lambda x : not x['hostname'] in l_blacklist, l_nodes) - if len(l_nodes) == 0: - raise Exception("Host removed via blacklist: %s" % hostname) - - ad_dbTickets = database.if_cached_else_refresh(True, False, "ad_dbTickets", lambda : None) - if ad_dbTickets == None: - raise Exception("Could not find cached dbTickets") - - - args = {} - args['hostname'] = "%s" % hostname - args['hostname_list'] = "%s" % hostname - args['loginbase'] = plc.siteId(hostname) - - m = PersistMessage(hostname, "Please Update Boot Image for %s" % hostname, - mailtxt.newalphacd_one[1] % args, True, db='bootcd_persistmessages') - - #print "merge" - merge = Merge( [node['hostname'] for node in l_nodes]) - record_list = merge.run() - #print "rt" - rt = RT(record_list, ad_dbTickets, l_ticket_blacklist) - record_list = rt.run() - #print "diagnose" - diag = Diagnose(record_list) - diagnose_out = diag.run() - #print diagnose_out - #print "action" - action = Action(diagnose_out) - action.run() - return True - def main(): for host in sys.argv[1:]: reboot(host)