X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=nodequery.py;h=2fe0e4ab99fc67973c581eeb32b255cc4986b494;hb=e2e493681014a07579fee2719a683b364a72fe0a;hp=e9001a6e20a57eb62fe9eea1b977d51415e998eb;hpb=7e1b0434bd1f865f7e9d8dff1cebd87d07a8d65d;p=monitor.git diff --git a/nodequery.py b/nodequery.py index e9001a6..2fe0e4a 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 @@ -317,6 +317,9 @@ def node_select(str_query, nodelist=None, fb=None): fb_noderec = None #fb_noderec = FindbadNodeRecord.query.filter(FindbadNodeRecord.hostname==node).order_by(FindbadNodeRecord.date_checked.desc()).first() fb_noderec = FindbadNodeRecord.get_latest_by(hostname=node) + except KeyboardInterrupt: + print "Exiting at user request: Ctrl-C" + sys.exit(1) except: print traceback.print_exc() continue @@ -328,7 +331,6 @@ def node_select(str_query, nodelist=None, fb=None): #if 'plcnode' in fb_nodeinfo: # fb_nodeinfo.update(fb_nodeinfo['plcnode']) - #if verifyDBrecord(dict_query, fb_nodeinfo): if verify(dict_query, fb_nodeinfo): #print fb_nodeinfo.keys() #print node #fb_nodeinfo @@ -383,13 +385,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: @@ -415,6 +416,9 @@ def main(): fb_noderec = FindbadNodeRecord.get_latest_by(hostname=node) if not fb_noderec: continue fb_nodeinfo = fb_noderec.to_dict() + except KeyboardInterrupt: + print "Exiting at user request: Ctrl-C" + sys.exit(1) except: print traceback.print_exc() continue