X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=nodequery.py;h=738e58d0d57e66043c3b10495c2fcf17a6c516cb;hb=3f2acbd8b7761dae4bb02fedd3557e1003cafb43;hp=1f41ceb1776f0c7614fcdd1b3ae2b8d333c450d1;hpb=c9d06f3b274ecbc092a0b3eb1f5ceb6c0f734aad;p=monitor.git diff --git a/nodequery.py b/nodequery.py index 1f41ceb..738e58d 100755 --- a/nodequery.py +++ b/nodequery.py @@ -13,11 +13,11 @@ import time import re import string -from monitor.wrapper import plc, plccache +from monitor.wrapper import plc api = plc.getAuthAPI() -from monitor.database.info.model import FindbadNodeRecord, FindbadPCURecord, session -from monitor import util +from monitor.database.info.model import HistoryNodeRecord, FindbadNodeRecord, FindbadPCURecord, session +from monitor.util import file as utilfile from monitor import config @@ -383,13 +383,12 @@ def main(): fb = None if config.nodelist: - nodelist = util.file.getListFromFile(config.nodelist) + nodelist = utilfile.getListFromFile(config.nodelist) else: # NOTE: list of nodes should come from findbad db. Otherwise, we # don't know for sure that there's a record in the db.. - plcnodes = plccache.l_nodes - nodelist = [ node['hostname'] for node in plcnodes ] - #nodelist = ['planetlab-1.cs.princeton.edu'] + fbquery = HistoryNodeRecord.query.all() + nodelist = [ n.hostname for n in fbquery ] pculist = None if config.select is not None and config.pcuselect is not None: @@ -413,12 +412,13 @@ def main(): try: # Find the most recent record fb_noderec = FindbadNodeRecord.get_latest_by(hostname=node) + if not fb_noderec: continue + fb_nodeinfo = fb_noderec.to_dict() except: print traceback.print_exc() - pass + continue if config.listkeys: - fb_nodeinfo = fb_noderec.to_dict() print "Primary keys available in the findbad object:" for key in fb_nodeinfo.keys(): print "\t",key @@ -431,7 +431,6 @@ def main(): if config.daysdown: daysdown_print_nodeinfo(fb_nodeinfo, node) else: - fb_nodeinfo = fb_noderec.to_dict() if config.select: if config.fields: fields = config.fields.split(",")