X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=siteinfo.py;h=4b4daf77fabe54721bc05b0a6f5c72ea9c791380;hb=08bc8fdd4fc58fd7db356b0e5ba981d975231b78;hp=10c42ef593dd5d0d3b0aee12b68d5939648e7d30;hpb=d0652340b89d51c6115edb13d5c7c72b34dea66f;p=monitor.git diff --git a/siteinfo.py b/siteinfo.py index 10c42ef..4b4daf7 100755 --- a/siteinfo.py +++ b/siteinfo.py @@ -1,22 +1,19 @@ #!/usr/bin/python -import plc -import auth -api = plc.PLC(auth.auth, auth.plc) +from monitor.wrapper import plc +api = plc.getAuthAPI() -import soltesz -import reboot +from monitor import database import time -from model import * -from nodecommon import * +from monitor.common import * -import config as configmodule +from monitor import util +from monitor import parser as parsermodule +from monitor.model import * -from config import config as cfg -from optparse import OptionParser -parser = OptionParser() +parser = parsermodule.getParser() parser.set_defaults(site=None, findbad=False, enable=False, @@ -30,10 +27,8 @@ parser.add_option("", "--enable", dest="enable", action="store_true", help="") parser.add_option("", "--disable", dest="disable", action="store_true", help="") -config = cfg(parser) -config.parse_args() +config = parsermodule.parse_args(parser) -from unified_model import * def color_sitestatus(status): if status == "good": return green(status) @@ -67,11 +62,11 @@ def plc_print_siteinfo(plcsite): diff_time(plcsite['last_updated'])) print "" - nodes = api.GetNodes(plcsite['node_ids']) + nodes = plccache.GetNodesByIds(plcsite['node_ids']) print " Checked: %s" % time.ctime() print "\t host | state | obs | created | updated | last_contact " for plcnode in nodes: - fbnode = fb['nodes'][plcnode['hostname']]['values'] + fbnode = FindbadNodeRecord.get_latest_by(hostname=plcnode['hostname']).to_dict() plcnode['state'] = color_boot_state(get_current_state(fbnode)) print "\t %37s | %5s | %5s | %11.11s | %11.11s | %12s " % \ (plcnode['hostname'], color_boot_state(plcnode['boot_state']), plcnode['state'], @@ -79,13 +74,12 @@ def plc_print_siteinfo(plcsite): diff_time(plcnode['last_contact'])) -fb = soltesz.dbLoad("findbad") -act_all = soltesz.dbLoad("act_all") +act_all = database.dbLoad("act_all") for site in config.args: config.site = site - plc_siteinfo = api.GetSites({'login_base': config.site})[0] + plc_siteinfo = plccache.GetSitesByName([config.site]) url = "https://www.planet-lab.org/db/sites/index.php?site_pattern=" plc_siteinfo['url'] = url + plc_siteinfo['login_base'] @@ -93,9 +87,9 @@ for site in config.args: # rerun findbad with the nodes in the given nodes. import os file = "findbad.txt" - nodes = api.GetNodes(plc_siteinfo['node_ids'], ['hostname']) + nodes = plccache.GetNodesByIds(plc_siteinfo['node_ids']) nodes = [ n['hostname'] for n in nodes ] - configmodule.setFileFromList(file, nodes) + util.file.setFileFromList(file, nodes) os.system("./findbad.py --cachenodes --debug=0 --dbname=findbad --increment --nodelist %s" % file) print "%(login_base)s %(url)s" % plc_siteinfo