import time
import util.file
import plc
+from datetime import datetime
from monitor import database
from unified_model import PersistFlags
esc = struct.pack('i', 27)
elif l == "down": return red(l)
elif l == "boot": return green(l)
elif l == "rins": return blue(l)
+ elif l == "reinstall": return blue(l)
else:
return l
t_str = "%s mnths ago" % int(t)
return t_str
+def getvalue(fb, path):
+ indexes = path.split("/")
+ values = fb
+ for index in indexes:
+ if index in values:
+ values = values[index]
+ else:
+ return None
+ return values
+
def nodegroup_display(node, fb, conf=None):
if node['hostname'] in fb['nodes']:
node['current'] = get_current_state(fb['nodes'][node['hostname']]['values'])
f_nodes = [config.node]
l_nodes = filter(lambda x: x['hostname'] in f_nodes, l_nodes)
elif config.nodegroup:
- ng = api.GetNodeGroups({'name' : config.nodegroup})
+ ng = api.GetNodeGroups({'groupname' : config.nodegroup})
l_nodes = api.GetNodes(ng[0]['node_ids'], ['hostname'])
elif config.site:
site = api.GetSites(config.site)
return l_nodes
+def email_exception(content=None):
+ import config
+ from unified_model import Message
+ import traceback
+ msg=traceback.format_exc()
+ if content:
+ msg = content + "\n" + msg
+ m=Message("exception running monitor", msg, False)
+ m.send([config.cc_email])
+ return