git://git.onelab.eu
/
monitor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Include the new ok status string for pcubad statistics.
[monitor.git]
/
monitor
/
common.py
diff --git
a/monitor/common.py
b/monitor/common.py
index
75f76e4
..
ae32156
100644
(file)
--- a/
monitor/common.py
+++ b/
monitor/common.py
@@
-3,6
+3,7
@@
import time
import struct
from monitor import reboot
from monitor import util
import struct
from monitor import reboot
from monitor import util
+from monitor import query
from monitor.wrapper import plc
from datetime import datetime, timedelta
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):
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:
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:
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(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:
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 ]
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
return l_nodes
@@
-239,6
+249,9
@@
def changed_lessthan(last_changed, days):
return False
def changed_greaterthan(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
if datetime.now() - last_changed > timedelta(days):
#print "last changed more than %s" % timedelta(days)
return True
@@
-269,3
+282,14
@@
def found_within(recent_actions, action_type, within):
print "%s NOT found_within %s in recent_actions" % (action_type, timedelta(within) )
return False
print "%s NOT found_within %s in recent_actions" % (action_type, timedelta(within) )
return False
+
+#class Time:
+# @classmethod
+# def dt_to_ts(cls, dt):
+# t = time.mktime(dt.timetuple())
+# return t
+#
+# @classmethod
+# def ts_to_dt(cls, ts):
+# d = datetime.fromtimestamp(ts)
+# return d