fixed runtime errors for findall default values
authorStephen Soltesz <soltesz@cs.princeton.edu>
Tue, 10 Mar 2009 22:18:47 +0000 (22:18 +0000)
committerStephen Soltesz <soltesz@cs.princeton.edu>
Tue, 10 Mar 2009 22:18:47 +0000 (22:18 +0000)
added fix for site lookup for nodes without correct status information

findall.py
monitor/common.py
web/MonitorWeb/monitorweb/controllers.py

index 8be5b27..26335e0 100755 (executable)
@@ -11,7 +11,7 @@ if __name__ == '__main__':
        parser = parsermodule.getParser(['nodesets'])
 
        parser.set_defaults( increment=False, dbname="findbad", cachenodes=False, 
-                                               force=False,)
+                                               force=False, pcuselect=None, pcuid=None)
        parser.add_option("", "--cachenodes", action="store_true",
                                                help="Cache node lookup from PLC")
        parser.add_option("", "--dbname", dest="dbname", metavar="FILE", 
index 8bddae1..be4a171 100644 (file)
@@ -214,7 +214,7 @@ def get_nodeset(config):
 
 def email_exception(content=None):
     import config
-    from unified_model import Message
+    from monitor.model import Message
     import traceback
     msg=traceback.format_exc()
     if content:
index bb0580b..a95f3d6 100644 (file)
@@ -132,6 +132,10 @@ def prep_node_for_display(node):
 
        if node.loginbase:
                node.site = HistorySiteRecord.by_loginbase(node.loginbase)
+               if node.site is None:
+                       # TODO: need a cleaner fix for this...
+                       node.site = HistorySiteRecord.by_loginbase("pl")
+                       
 
        node.history = HistoryNodeRecord.by_hostname(node.hostname)
 
@@ -168,13 +172,14 @@ class Root(controllers.RootController):
                import time
                fbquery = FindbadNodeRecord.get_all_latest()
                query = []
-               filtercount = {'DOWN' : 0, 'BOOT': 0, 'DEBUG' : 0, 'neverboot' : 0, 'pending' : 0, 'all' : 0}
+               filtercount = {'DOWN' : 0, 'BOOT': 0, 'DEBUG' : 0, 'neverboot' : 0, 'pending' : 0, 'all' : 0, None : 0}
                for node in fbquery:
                        # NOTE: reformat some fields.
                        prep_node_for_display(node)
 
                        # NOTE: count filters
                        if node.observed_status != 'DOWN':
+                               print node.hostname, node.observed_status
                                filtercount[node.observed_status] += 1
                        else:
                                if node.plc_node_stats and node.plc_node_stats['last_contact'] != None: