X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=grouprins.py;h=92a745ced27d8bfcbaddae7afafe1d2d1faa4d86;hb=9e6fe218903065e09ada21a12910d22c4ef4d894;hp=95d0fc5274f386435ad951938304583fd6fa12a4;hpb=d0652340b89d51c6115edb13d5c7c72b34dea66f;p=monitor.git diff --git a/grouprins.py b/grouprins.py index 95d0fc5..92a745c 100755 --- a/grouprins.py +++ b/grouprins.py @@ -13,22 +13,22 @@ # import plc -import auth -api = plc.PLC(auth.auth, auth.plc) +api = plc.getAuthAPI() import policy import traceback from config import config as cfg -import config as configmodule +import util.file from optparse import OptionParser from nodecommon import * from nodequery import verify,query_to_dict,node_select -import soltesz +import database from unified_model import * import os import time +import parser as parsermodule from model import * import bootman # debug nodes @@ -156,16 +156,12 @@ def set_node_to_rins(host, fb): try: - rebootlog = soltesz.dbLoad("rebootlog") + rebootlog = database.dbLoad("rebootlog") except: rebootlog = LogRoll() -parser = OptionParser() -parser.set_defaults(nodegroup=None, - node=None, - nodelist=None, - nodeselect=None, - timewait=0, +parser = parsermodule.getParser(['nodesets']) +parser.set_defaults( timewait=0, skip=0, rins=False, reboot=False, @@ -177,33 +173,9 @@ parser.set_defaults(nodegroup=None, stopvalue=None, quiet=False, ) -parser.add_option("", "--node", dest="node", metavar="nodename.edu", - help="A single node name to add to the nodegroup") -parser.add_option("", "--nodelist", dest="nodelist", metavar="list.txt", - help="Use all nodes in the given file for operation.") -parser.add_option("", "--nodegroup", dest="nodegroup", metavar="NodegroupName", - help="Specify a nodegroup to perform actions on") -parser.add_option("", "--nodeselect", dest="nodeselect", metavar="querystring", - help="Specify a query to perform on findbad db") - -parser.add_option("", "--verbose", dest="verbose", action="store_true", - help="Extra debug output messages.") -parser.add_option("", "--nosetup", dest="nosetup", action="store_true", - help="Do not perform the orginary setup phase.") - -parser.add_option("", "--skip", dest="skip", - help="Number of machines to skip on the input queue.") -parser.add_option("", "--timewait", dest="timewait", - help="Minutes to wait between iterations of 10 nodes.") parser.add_option("", "--stopselect", dest="stopselect", metavar="", help="The select string that must evaluate to true for the node to be considered 'done'") - -parser.add_option("", "--stopkey", dest="stopkey", metavar="", - help="") -parser.add_option("", "--stopvalue", dest="stopvalue", metavar="", - help="") - parser.add_option("", "--findbad", dest="findbad", action="store_true", help="Re-run findbad on the nodes we're going to check before acting.") parser.add_option("", "--force", dest="force", action="store_true", @@ -212,9 +184,18 @@ parser.add_option("", "--rins", dest="rins", action="store_true", help="Set the boot_state to 'rins' for all nodes.") parser.add_option("", "--reboot", dest="reboot", action="store_true", help="Actively try to reboot the nodes, keeping a log of actions.") -#config = config(parser) -config = cfg(parser) -config.parse_args() + +parser.add_option("", "--verbose", dest="verbose", action="store_true", + help="Extra debug output messages.") +parser.add_option("", "--nosetup", dest="nosetup", action="store_true", + help="Do not perform the orginary setup phase.") +parser.add_option("", "--skip", dest="skip", + help="Number of machines to skip on the input queue.") +parser.add_option("", "--timewait", dest="timewait", + help="Minutes to wait between iterations of 10 nodes.") + +parser = parsermodule.getParser(['defaults'], parser) +config = parsermodule.parse_args(parser) # COLLECT nodegroups, nodes and node lists if config.nodegroup: @@ -232,10 +213,10 @@ if config.nodeselect: if config.findbad: # rerun findbad with the nodes in the given nodes. file = "findbad.txt" - configmodule.setFileFromList(file, hostnames) + util.file.setFileFromList(file, hostnames) os.system("./findbad.py --cachenodes --debug=0 --dbname=findbad --increment --nodelist %s" % file) -fb = soltesz.dbLoad("findbad") +fb = database.dbLoad("findbad") # commands: i = 1 count = 1 @@ -346,7 +327,7 @@ for host in hostnames: time.sleep(1) if count % 10 == 0: print "Saving rebootlog" - soltesz.dbDump("rebootlog", rebootlog) + database.dbDump("rebootlog", rebootlog) wait_time = int(config.timewait) print "Sleeping %d minutes" % wait_time ti = 0 @@ -361,4 +342,4 @@ for host in hostnames: count = count + 1 print "Saving rebootlog" -soltesz.dbDump("rebootlog", rebootlog) +database.dbDump("rebootlog", rebootlog)