#
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 config2
+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
return ret
except Exception,e:
- import traceback; print traceback.print_exc(); print e
+ print traceback.print_exc(); print e
# NOTE: this failure could be an implementation issue on
# our end. So, extra notices are confusing...
try:
return monitor.reboot(host)
except Exception, e:
- import traceback; print traceback.print_exc(); print e
+ print traceback.print_exc(); print e
return False
class RebootDebug(Reboot):
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,
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",
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:
if config.findbad:
# rerun findbad with the nodes in the given nodes.
- import os
file = "findbad.txt"
- config2.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
try:
node = api.GetNodes(host)[0]
except:
- import traceback; print traceback.print_exc();
+ print traceback.print_exc();
print "FAILED GETNODES for host: %s" % host
continue
print "ALL METHODS OF RESTARTING %s FAILED" % host
args = {}
args['hostname'] = host
- m = PersistMessage(host, "ALL FAIL for %(hostname)s" % args,
- "nada", False, db='suspect_persistmessages')
+ 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'])
print "Killed by interrupt"
sys.exit(0)
except:
- import traceback; print traceback.print_exc();
+ print traceback.print_exc();
print "Continuing..."
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
count = count + 1
print "Saving rebootlog"
-soltesz.dbDump("rebootlog", rebootlog)
+database.dbDump("rebootlog", rebootlog)