X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=mailmonitor.py;h=3257d63643efb36b85965a475ebddd43e32eeabb;hb=9ea6c9bfc825a684654837886af4291780673eb7;hp=48fa5144a9e890ac3e165efec4b0759bbd474597;hpb=fc107b836ea57437e38c3265ebaf35568bbd86f0;p=monitor.git diff --git a/mailmonitor.py b/mailmonitor.py index 48fa514..3257d63 100644 --- a/mailmonitor.py +++ b/mailmonitor.py @@ -8,7 +8,6 @@ import database -from monitor_policy import * import rt import sys @@ -18,7 +17,7 @@ api = plc.getAuthAPI() from clean_policy import * 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 +30,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)