X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=nodebad.py;h=d9b6b4c2003f1e12926f63487c3b800be2f639c6;hb=refs%2Fheads%2F1.0;hp=3261f8819745f57618e1cfa1def7617a1c319b05;hpb=c3f2afdc81c6711c3825c82e2cd4970671575438;p=monitor.git diff --git a/nodebad.py b/nodebad.py index 3261f88..d9b6b4c 100755 --- a/nodebad.py +++ b/nodebad.py @@ -16,7 +16,7 @@ from nodecommon import * import plc api = plc.getAuthAPI() from unified_model import * -from monitor_policy import MINUP +from const import MINUP round = 1 externalState = {'round': round, 'nodes': {}} @@ -32,10 +32,12 @@ def main(config): l_nodes = syncplcdb.create_plcdb() l_plcnodes = database.dbLoad("l_plcnodes") - if config.node: - l_nodes = [config.node] - else: - l_nodes = [node['hostname'] for node in l_plcnodes] + l_nodes = get_nodeset(config) + print len(l_nodes) + #if config.node: + # l_nodes = [config.node] + ##else: + # l_nodes = [node['hostname'] for node in l_plcnodes] checkAndRecordState(l_nodes, l_plcnodes) @@ -56,6 +58,9 @@ def checkAndRecordState(l_nodes, l_plcnodes): externalState['nodes'][nodename]['values'] = values externalState['nodes'][nodename]['round'] = global_round else: + pf = PersistFlags(nodename, 1, db='node_persistflags') + print "%d %35s %s since %s" % (count, nodename, pf.status, pf.last_changed) + del pf count += 1 if count % 20 == 0: @@ -64,7 +69,6 @@ def checkAndRecordState(l_nodes, l_plcnodes): database.dbDump(config.dbname, externalState) fb = database.dbLoad('findbad') -hn2lb = database.dbLoad("plcdb_hn2lb") def getnodesup(nodelist): up = 0 @@ -150,6 +154,8 @@ if __name__ == '__main__': except Exception, err: import traceback print traceback.print_exc() + from nodecommon import email_exception + email_exception() print "Exception: %s" % err print "Saving data... exitting." database.dbDump(config.dbname, externalState)