X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=policy.py;h=78232375ee593c21319dcaff10e11837bf90e757;hb=refs%2Fheads%2F1.0;hp=e72ec8b051d242fbea231929fbfb4a63813bbff3;hpb=6496f5b4a0220e4055fee76c97f92293f9559117;p=monitor.git diff --git a/policy.py b/policy.py index e72ec8b..7823237 100644 --- a/policy.py +++ b/policy.py @@ -21,10 +21,8 @@ import os import reboot import database import string -from www.printbadnodes import cmpCategoryVal -from config import config -#print "policy" -config = config() +from unified_model import cmpCategoryVal +import config DAT="./monitor.dat" @@ -87,15 +85,6 @@ def getdebug(): def print_stats(key, stats): if key in stats: print "%20s : %d" % (key, stats[key]) -def get_ticket_id(record): - if 'ticket_id' in record and record['ticket_id'] is not "" and record['ticket_id'] is not None: - return record['ticket_id'] - elif 'found_rt_ticket' in record and \ - record['found_rt_ticket'] is not "" and \ - record['found_rt_ticket'] is not None: - return record['found_rt_ticket'] - else: - return None class Merge(Thread): def __init__(self, l_merge, toRT): @@ -306,6 +295,8 @@ class Diagnose(Thread): print "----------------" import traceback print traceback.print_exc() + from nodecommon import email_exception + email_exception() print err #if config.policysavedb: sys.exit(1) @@ -929,17 +920,7 @@ class BackoffActions(SiteAction): # TODO: create class for each action below, # allow for lists of actions to be performed... -def close_rt_backoff(args): - if 'ticket_id' in args and (args['ticket_id'] != "" and args['ticket_id'] != None): - mailer.closeTicketViaRT(args['ticket_id'], - "Ticket CLOSED automatically by SiteAssist.") - plc.enableSlices(args['hostname']) - plc.enableSliceCreation(args['hostname']) - return -def reboot_node(args): - host = args['hostname'] - return reboot.reboot_policy(host, True, config.debug) def reset_nodemanager(args): os.system("ssh root@%s /sbin/service nm restart" % nodename) @@ -962,7 +943,7 @@ class Action(Thread): self.actions['suspendslices'] = lambda args: plc.suspendSlices(args['hostname']) self.actions['nocreate'] = lambda args: plc.removeSliceCreation(args['hostname']) self.actions['close_rt'] = lambda args: close_rt_backoff(args) - self.actions['rins'] = lambda args: plc.nodeBootState(args['hostname'], "rins") + self.actions['rins'] = lambda args: plc.nodeBootState(args['hostname'], "reinstall") self.actions['noop'] = lambda args: args self.actions['reboot_node'] = lambda args: reboot_node(args) self.actions['reset_nodemanager'] = lambda args: args # reset_nodemanager(args) @@ -1267,7 +1248,7 @@ class Action(Thread): print "%s" % act_record['log'], print "%15s" % (['reboot_node'],) # Set node to re-install - plc.nodeBootState(act_record['nodename'], "rins") + plc.nodeBootState(act_record['nodename'], "reinstall") try: ret = reboot_node({'hostname': act_record['nodename']}) except Exception, exc: