X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=siteinfo.py;h=4b4daf77fabe54721bc05b0a6f5c72ea9c791380;hb=17447cbba68069b0bf043f25ae75f86a0ccc26f7;hp=f3692bcb877fbf3b5d96ab8e447ac973f1cb258b;hpb=c51ad794e8dc07072d705b508e79ba06849aa408;p=monitor.git diff --git a/siteinfo.py b/siteinfo.py index f3692bc..4b4daf7 100755 --- a/siteinfo.py +++ b/siteinfo.py @@ -1,21 +1,19 @@ #!/usr/bin/python -import plc +from monitor.wrapper import plc api = plc.getAuthAPI() -import database -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, @@ -29,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) @@ -66,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'], @@ -78,13 +74,12 @@ def plc_print_siteinfo(plcsite): diff_time(plcnode['last_contact'])) -fb = database.dbLoad("findbad") 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'] @@ -92,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