From: Stephen Soltesz Date: Thu, 6 Oct 2011 23:32:04 +0000 (-0400) Subject: Merge branch 'master' of ssh://git.planet-lab.org/git/monitor X-Git-Url: http://git.onelab.eu/?p=monitor.git;a=commitdiff_plain;h=5dd8a0f356100ed9369f54ac764e058adc4c3c90;hp=-c Merge branch 'master' of ssh://git.planet-lab.org/git/monitor --- 5dd8a0f356100ed9369f54ac764e058adc4c3c90 diff --combined web/MonitorWeb/monitorweb/controllers.py index c540888,0f919ab..b368df9 --- a/web/MonitorWeb/monitorweb/controllers.py +++ b/web/MonitorWeb/monitorweb/controllers.py @@@ -12,6 -12,7 +12,7 @@@ from monitor.database.info.model impor #from monitor.database.zabbixapi.model import * from monitor_xmlrpc import MonitorXmlrpcServer from controllers_local import LocalExtensions + from pcucontrol.reboot import pcu_name from monitor import util from monitor import reboot @@@ -24,13 -25,6 +25,13 @@@ from monitor.wrapper.plccache import pl from monitorweb.templates.links import * +def session_clear_all(): + session.flush() + try: + session.expunge_all() + except AttributeError: # SQLAlchemy < 0.5.1 + session.clear() + class ObjectQueryFields(widgets.WidgetsList): """The WidgetsList defines the fields of the form.""" pass @@@ -155,7 -149,7 +156,7 @@@ def format_ports(data, pcumodel=None) def format_pcu_shortstatus(pcu): status = "error" if pcu: - if pcu.reboot_trial_status == str(0): + if pcu.reboot_trial_status == str(0) or pcu.reboot_trial_status == "Test: No error": status = "Ok" elif pcu.reboot_trial_status == "NetDown" or pcu.reboot_trial_status == "Not_Run": status = pcu.reboot_trial_status @@@ -177,6 -171,7 +178,7 @@@ def prep_pcu_for_display(pcu) agg.ports = format_ports(pcu.port_status, pcu.plc_pcu_stats['model']) agg.status = format_pcu_shortstatus(pcu) + agg.pcu_name = pcu_name(pcu.plc_pcu_stats) #print pcu.entry_complete agg.entry_complete_str = pcu.entry_complete @@@ -394,7 -389,7 +396,7 @@@ class Root(controllers.RootController, def nodeslow(self, filter='boot'): print "NODE------------------" print "befor-len: ", len( [ i for i in session] ) - session.flush(); session.clear() + session_clear_all() print "after-len: ", len( [ i for i in session] ) fbquery = FindbadNodeRecord.get_all_latest() query = [] @@@ -518,7 -513,7 +520,7 @@@ def pre_view(self, **data): - session.flush(); session.clear() + session_clear_all() loginbase=None loginbase_list=[] @@@ -611,6 -606,12 +613,12 @@@ for pcuid_key in pcus: pcuquery += [pcus[pcuid_key]] + #for a in nodequery: + # print type(a.node) + # print type(a.node.hostname) + nodequery.sort(lambda a,b: cmp(a.node.hostname,b.node.hostname)) + pcuquery.sort(lambda a,b: cmp(a.pcu_name,b.pcu_name)) + actionlist_widget = ActionListWidget(template='monitorweb.templates.actionlist_template') return dict(sitequery=sitequery, pcuquery=pcuquery, nodequery=nodequery, actions=actions_list, actionlist_widget=actionlist_widget, since=since, exceptions=exceptions) @@@ -619,7 -620,7 +627,7 @@@ @expose(template="monitorweb.templates.pcuview") @exception_handler(nodeaction_handler,"isinstance(tg_exceptions,RuntimeError)") def pcuviewold(self, loginbase=None, pcuid=None, hostname=None, since=20, **data): - session.flush(); session.clear() + session_clear_all() sitequery=[] pcuquery=[] nodequery=[] @@@ -736,7 -737,7 +744,7 @@@ def pcu(self, filter='all'): print "PCUVIEW------------------" print "befor-len: ", len( [ i for i in session] ) - session.flush(); session.clear() + session_clear_all() print "after-len: ", len( [ i for i in session] ) fbquery = FindbadPCURecord.get_all_latest() query = [] @@@ -774,7 -775,7 +782,7 @@@ def site(self, filter='all'): print "SITE------------------" print "befor-len: ", len( [ i for i in session] ) - session.flush(); session.clear() + session_clear_all() 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()