simple incremental collection script, and environment variable for ssh
[monitor.git] / monitor / common.py
index 75f76e4..2eb2bb7 100644 (file)
@@ -3,6 +3,7 @@ import time
 import struct
 from monitor import reboot
 from monitor import util
+from monitor import query
 from monitor.wrapper import plc
 
 from datetime import datetime, timedelta
@@ -42,12 +43,17 @@ def get_current_state(fbnode):
        return l
 
 def color_pcu_state(fbnode):
+       if fbnode['plc_pcuid'] is None:
+               return 'NOPCU'
+       else:
+               return 'PCU'
 
        if 'plcnode' in fbnode and 'pcu_ids' in fbnode['plcnode'] and len(fbnode['plcnode']['pcu_ids']) > 0 :
                values = reboot.get_pcu_values(fbnode['plcnode']['pcu_ids'][0])
                if values == None:
                        return fbnode['pcu']
        else:
+               print fbnode.keys()
                if 'pcu' not in fbnode:
                        return 'NOPCU'
                else:
@@ -201,16 +207,20 @@ def get_nodeset(config):
                l_nodes = api.GetNodes(ng[0]['node_ids'], ['hostname'])
        elif config.site:
                site = api.GetSites(config.site)
-               l_nodes = api.GetNodes(site[0]['node_ids'], ['hostname'])
+               if len(site) > 0:
+                       l_nodes = api.GetNodes(site[0]['node_ids'], ['hostname'])
+               else:
+                       print "No site returned for : %s" % config.site
+                       return []
                
        l_nodes = [node['hostname'] for node in l_nodes]
 
        # perform this query after the above options, so that the filter above
        # does not break.
        if config.nodeselect:
-               fbquery = FindbadNodeRecord.get_all_latest()
+               fbquery = HistoryNodeRecord.query.all()
                node_list = [ n.hostname for n in fbquery ]
-               l_nodes = node_select(config.nodeselect, node_list, None)
+               l_nodes = query.node_select(config.nodeselect, node_list, None)
 
        return l_nodes
 
@@ -239,6 +249,9 @@ def changed_lessthan(last_changed, days):
                return False
 
 def changed_greaterthan(last_changed, days):
+       if last_changed is None:
+               return False
+
        if datetime.now() - last_changed > timedelta(days):
                #print "last changed more than %s" % timedelta(days)
                return True