X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=grouprins.py;h=5ebe91288c89d05b38f887bebb8aaf87153e3a00;hb=da913fbd1629fc4669b186915df8ff3a340482d3;hp=d859727a406b28431cc3e7a505b39ffb224a04c8;hpb=ee740a3ff286a9720cd1656cd60a3c85f0f14b29;p=monitor.git diff --git a/grouprins.py b/grouprins.py index d859727..5ebe912 100755 --- a/grouprins.py +++ b/grouprins.py @@ -12,30 +12,28 @@ # * do something else to them all. # -import plc +from monitor import config +from monitor import util +from monitor import const +from monitor import database +from monitor import parser as parsermodule +from monitor.pcu import reboot +from monitor.wrapper import plc api = plc.getAuthAPI() import traceback -import config -import util.file from optparse import OptionParser -import const from nodecommon import * from nodequery import verify,query_to_dict,node_select -import database -from unified_model import * +from monitor.model import * import os import time -import parser as parsermodule -from model import * import bootman # debug nodes -import reboot # down nodes without pcu -import mailmonitor # down nodes with pcu +import mailmonitor # down nodes without pcu from emailTxt import mailtxt -#reboot.verbose = 0 import sys class Reboot(object): @@ -228,14 +226,20 @@ if config.nodegroup: nodelist = api.GetNodes(ng[0]['node_ids']) hostnames = [ n['hostname'] for n in nodelist ] +if config.site: + site = api.GetSites(config.site) + l_nodes = api.GetNodes(site[0]['node_ids'], ['hostname']) + hostnames = [ n['hostname'] for n in l_nodes ] + if config.node or config.nodelist: if config.node: hostnames = [ config.node ] else: hostnames = util.file.getListFromFile(config.nodelist) -fb = database.dbLoad("findbad") +fbquery = FindbadNodeRecord.get_all_latest() +fb_nodelist = [ n.hostname for n in fbquery ] if config.nodeselect: - hostnames = node_select(config.nodeselect, fb['nodes'].keys(), fb) + hostnames = node_select(config.nodeselect, fb_nodelist) if config.findbad: # rerun findbad with the nodes in the given nodes. @@ -339,10 +343,10 @@ for host in hostnames: print "ALL METHODS OF RESTARTING %s FAILED" % host args = {} args['hostname'] = host - m = PersistMessage(host, "ALL METHODS FAILED for %(hostname)s" % args, - "CANNOT CONTACT", False, db='suspect_persistmessages') - m.reset() - m.send(['monitor-list@lists.planet-lab.org']) + #m = PersistMessage(host, "ALL METHODS FAILED for %(hostname)s" % args, + # "CANNOT CONTACT", False, db='suspect_persistmessages') + #m.reset() + #m.send(['monitor-list@lists.planet-lab.org']) l = Log(host, record) print l