from monitor import reboot
from monitor import scanapi
+import time
-from monitor.wrapper.plccache import plcdb_id2lb as site_id2lb
from monitor.wrapper.plccache import plcdb_hn2lb as site_hn2lb
-from monitor.wrapper.plccache import plcdb_lb2hn as site_lb2hn
from monitorweb.templates.links import *
def prep_pcu_for_display(pcu):
try:
- pcu.loginbase = site_id2lb[pcu.plc_pcu_stats['site_id']]
+ pcu.loginbase = PlcSite.query.get(pcu.plc_pcu_stats['site_id']).plc_site_stats['login_base']
except:
pcu.loginbase = "unknown"
node.kernel = ""
try:
- node.loginbase = site_id2lb[node.plc_node_stats['site_id']]
+ node.loginbase = PlcSite.query.get(node.plc_node_stats['site_id']).plc_site_stats['login_base']
except:
node.loginbase = "unknown"
class Root(controllers.RootController, MonitorXmlrpcServer):
@expose(template="monitorweb.templates.welcome")
def index(self):
- import time
# log.debug("Happy TurboGears Controller Responding For Duty")
flash("Your application is now running")
return dict(now=time.ctime())
def nodeview(self, hostname=None):
nodequery=[]
if hostname:
- for node in FindbadNodeRecord.get_latest_by(hostname=hostname):
- # NOTE: reformat some fields.
- prep_node_for_display(node)
- nodequery += [node]
+ node = FindbadNodeRecord.get_latest_by(hostname=hostname)
+ # NOTE: reformat some fields.
+ prep_node_for_display(node)
+ nodequery += [node]
return self.pcuview(None, None, hostname) # dict(nodequery=nodequery)
@expose(template="monitorweb.templates.nodelist")
def node(self, filter='boot'):
- import time
+ print "NODE------------------"
+ print "befor-len: ", len( [ i for i in session] )
+ session.flush(); session.clear()
+ print "after-len: ", len( [ i for i in session] )
fbquery = FindbadNodeRecord.get_all_latest()
query = []
filtercount = {'down' : 0, 'boot': 0, 'debug' : 0, 'diagnose' : 0, 'disabled': 0,
prep_node_for_display(node)
#node.history.status
- print node.hostname
+ #print node.hostname
+
+ if not node.history:
+ continue
if node.history.status in ['down', 'offline']:
if node.plc_node_stats and node.plc_node_stats['last_contact'] != None:
if filtercount.has_key(node.history.status):
filtercount[node.history.status] += 1
- ## NOTE: count filters
- #if node.observed_status != 'DOWN':
- # print node.hostname, node.observed_status
- # if node.observed_status == 'DEBUG':
- # if node.plc_node_stats['boot_state'] in ['debug', 'diagnose', 'disabled']:
- # filtercount[node.plc_node_stats['boot_state']] += 1
- # else:
- # filtercount['debug'] += 1
- #
- # else:
- # filtercount[node.observed_status] += 1
- #else:
- # if node.plc_node_stats and node.plc_node_stats['last_contact'] != None:
- # filtercount[node.observed_status] += 1
- # else:
- # filtercount['neverboot'] += 1
# NOTE: apply filter
if filter == "neverboot":
elif filter == 'boot':
query.append(node)
- #if filter == node.observed_status:
- # if filter == "DOWN":
- # if node.plc_node_stats['last_contact'] != None:
- # query.append(node)
- # else:
- # query.append(node)
- #elif filter == "neverboot":
- # if not node.plc_node_stats or node.plc_node_stats['last_contact'] == None:
- # query.append(node)
- #elif filter == "pending":
- # # TODO: look in message logs...
- # pass
- #elif filter == node.plc_node_stats['boot_state']:
- # query.append(node)
- #elif filter == "all":
- # query.append(node)
widget = NodeWidget(template='monitorweb.templates.node_template')
return dict(now=time.ctime(), query=query, fc=filtercount, nodewidget=widget)
actions = [ a for a in actions ]
sitequery = [HistorySiteRecord.by_loginbase(loginbase)]
pcus = {}
- for plcnode in site_lb2hn[loginbase]:
- node = FindbadNodeRecord.get_latest_by(hostname=plcnode['hostname'])
+ for node in FindbadNodeRecord.query.filter_by(loginbase=loginbase):
# NOTE: reformat some fields.
prep_node_for_display(node)
nodequery += [node]
return dict(sitequery=sitequery, pcuquery=pcuquery, nodequery=nodequery, actions=actions, exceptions=exceptions)
+ @expose(template="monitorweb.templates.pcuhistory")
+ def pcuhistory(self, pcu_id=None):
+ query = []
+ if pcu_id:
+ fbnode = HistoryPCURecord.get_by(plc_pcuid=pcu_id)
+ l = fbnode.versions[-100:]
+ l.reverse()
+ for pcu in l:
+ #prep_node_for_display(node)
+ query.append(pcu)
+
+ return dict(query=query, pcu_id=pcu_id)
+
@expose(template="monitorweb.templates.nodehistory")
def nodehistory(self, hostname=None):
query = []
@expose(template="monitorweb.templates.pculist")
def pcu(self, filter='all'):
- import time
+ print "PCUVIEW------------------"
+ print "befor-len: ", len( [ i for i in session] )
+ session.flush(); session.clear()
+ print "after-len: ", len( [ i for i in session] )
fbquery = FindbadPCURecord.get_all_latest()
query = []
filtercount = {'ok' : 0, 'NetDown': 0, 'Not_Run' : 0, 'pending' : 0, 'all' : 0}
# get site query
sitequery = [HistorySiteRecord.by_loginbase(loginbase)]
nodequery = []
- for plcnode in site_lb2hn[loginbase]:
- for node in FindbadNodeRecord.get_latest_by(hostname=plcnode['hostname']):
- # NOTE: reformat some fields.
- prep_node_for_display(node)
- nodequery += [node]
+ for node in FindbadNodeRecord.query.filter_by(loginbase=loginbase):
+ # NOTE: reformat some fields.
+ prep_node_for_display(node)
+ nodequery += [node]
return dict(sitequery=sitequery, nodequery=nodequery, fc={})
@expose(template="monitorweb.templates.sitelist")
def site(self, filter='all'):
+ print "SITE------------------"
+ print "befor-len: ", len( [ i for i in session] )
+ session.flush(); session.clear()
+ print "after-len: ", len( [ i for i in session] )
filtercount = {'good' : 0, 'down': 0, 'online':0, 'offline' : 0, 'new' : 0, 'pending' : 0, 'all' : 0}
fbquery = HistorySiteRecord.query.all()
query = []