added --node option throughout calls
authorStephen Soltesz <soltesz@cs.princeton.edu>
Tue, 31 Mar 2009 21:27:49 +0000 (21:27 +0000)
committerStephen Soltesz <soltesz@cs.princeton.edu>
Tue, 31 Mar 2009 21:27:49 +0000 (21:27 +0000)
fixed a typo

findbadpcu.py
pcubad.py
sitebad.py
web/MonitorWeb/monitorweb/controllers.py

index c6e6a8f..893c2b7 100755 (executable)
@@ -101,6 +101,15 @@ def main():
                        pcus += node['pcu_ids']
                # clear out dups.
                l_pcus = [pcu for pcu in sets.Set(pcus)]
                        pcus += node['pcu_ids']
                # clear out dups.
                l_pcus = [pcu for pcu in sets.Set(pcus)]
+
+       elif config.node is not None:
+               l_nodes = api.GetNodes(config.node, ['pcu_ids'])
+               pcus = []
+               for node in l_nodes:
+                       pcus += node['pcu_ids']
+               # clear out dups.
+               l_pcus = [pcu for pcu in sets.Set(pcus)]
+
        elif config.sitelist:
                site_list = config.sitelist.split(',')
 
        elif config.sitelist:
                site_list = config.sitelist.split(',')
 
@@ -164,6 +173,7 @@ if __name__ == '__main__':
                                                pcuid=None,
                                                pcuselect=None,
                                                site=None,
                                                pcuid=None,
                                                pcuselect=None,
                                                site=None,
+                                               node=None,
                                                sitelist=None,
                                                dbname="findbadpcus", 
                                                cachenodes=False,
                                                sitelist=None,
                                                dbname="findbadpcus", 
                                                cachenodes=False,
@@ -172,6 +182,8 @@ if __name__ == '__main__':
                                                )
        parser.add_option("-f", "--nodelist", dest="nodelist", metavar="FILE", 
                                                help="Provide the input file for the node list")
                                                )
        parser.add_option("-f", "--nodelist", dest="nodelist", metavar="FILE", 
                                                help="Provide the input file for the node list")
+       parser.add_option("", "--node", dest="node", metavar="FILE", 
+                                               help="Get all pcus associated with the given node")
        parser.add_option("", "--site", dest="site", metavar="FILE", 
                                                help="Get all pcus associated with the given site's nodes")
        parser.add_option("", "--sitelist", dest="sitelist", metavar="FILE", 
        parser.add_option("", "--site", dest="site", metavar="FILE", 
                                                help="Get all pcus associated with the given site's nodes")
        parser.add_option("", "--sitelist", dest="sitelist", metavar="FILE", 
index 0ce1a9e..16a8f4f 100755 (executable)
--- a/pcubad.py
+++ b/pcubad.py
@@ -38,6 +38,15 @@ def main2(config):
                        pcus += node['pcu_ids']
                # clear out dups.
                l_pcus = [pcu for pcu in sets.Set(pcus)]
                        pcus += node['pcu_ids']
                # clear out dups.
                l_pcus = [pcu for pcu in sets.Set(pcus)]
+
+       elif config.node:
+               l_nodes = api.GetNodes(config.node, ['pcu_ids'])
+               pcus = []
+               for node in l_nodes:
+                       pcus += node['pcu_ids']
+               # clear out dups.
+               l_pcus = [pcu for pcu in sets.Set(pcus)]
+
        elif config.pcu:
                for pcu in l_plcpcus:
                        if ( pcu['hostname'] is not None and config.pcu in pcu['hostname'] ) or \
        elif config.pcu:
                for pcu in l_plcpcus:
                        if ( pcu['hostname'] is not None and config.pcu in pcu['hostname'] ) or \
@@ -131,11 +140,13 @@ def checkAndRecordState(l_pcus, l_plcpcus):
 
 if __name__ == '__main__':
        parser = parsermodule.getParser()
 
 if __name__ == '__main__':
        parser = parsermodule.getParser()
-       parser.set_defaults(filename=None, pcu=None, site=None, pcuselect=False, pcugroup=None, cachepcus=False)
+       parser.set_defaults(filename=None, pcu=None, node=None, site=None, pcuselect=False, pcugroup=None, cachepcus=False)
        parser.add_option("", "--pcu", dest="pcu", metavar="hostname", 
                                                help="Provide a single pcu to operate on")
        parser.add_option("", "--site", dest="site", metavar="sitename", 
                                                help="Provide a single sitename to operate on")
        parser.add_option("", "--pcu", dest="pcu", metavar="hostname", 
                                                help="Provide a single pcu to operate on")
        parser.add_option("", "--site", dest="site", metavar="sitename", 
                                                help="Provide a single sitename to operate on")
+       parser.add_option("", "--node", dest="node", metavar="nodename", 
+                                               help="Provide a single node to operate on")
        parser.add_option("", "--pculist", dest="pculist", metavar="file.list", 
                                                help="Provide a list of files to operate on")
 
        parser.add_option("", "--pculist", dest="pculist", metavar="file.list", 
                                                help="Provide a list of files to operate on")
 
@@ -145,6 +156,6 @@ if __name__ == '__main__':
                main2(config)
        except Exception, err:
                import traceback
                main2(config)
        except Exception, err:
                import traceback
-               print traceback.print_exc()
+               traceback.print_exc()
                print "Exception: %s" % err
                sys.exit(0)
                print "Exception: %s" % err
                sys.exit(0)
index 6d3c042..f90f887 100755 (executable)
@@ -9,7 +9,7 @@ from datetime import datetime,timedelta
 from monitor import database
 from monitor import parser as parsermodule
 from monitor import config
 from monitor import database
 from monitor import parser as parsermodule
 from monitor import config
-from monitor.database.info.model import HistorySiteRecord, HistoryNodeRecord, session
+from monitor.database.info.model import HistorySiteRecord, HistoryNodeRecord, session, BlacklistRecord
 from monitor.wrapper import plc, plccache
 from monitor.const import MINUP
 
 from monitor.wrapper import plc, plccache
 from monitor.const import MINUP
 
@@ -28,6 +28,8 @@ def main2(config):
 
        if config.site:
                l_sites = [config.site]
 
        if config.site:
                l_sites = [config.site]
+       elif config.node:
+               l_sites = [plccache.plcdb_hn2lb[config.node]]
        elif config.sitelist:
                site_list = config.sitelist.split(',')
                l_sites = site_list
        elif config.sitelist:
                site_list = config.sitelist.split(',')
                l_sites = site_list
@@ -45,7 +47,7 @@ def getnodesup(nodelist):
                        nodehist = HistoryNodeRecord.findby_or_create(hostname=node['hostname'])
                        nodebl   = BlacklistRecord.get_by(hostname=node['hostname'])
                        if (nodehist is not None and nodehist.status != 'down') or \
                        nodehist = HistoryNodeRecord.findby_or_create(hostname=node['hostname'])
                        nodebl   = BlacklistRecord.get_by(hostname=node['hostname'])
                        if (nodehist is not None and nodehist.status != 'down') or \
-                               (nodebl is not None and not nodebl.expired():
+                               (nodebl is not None and not nodebl.expired()):
                                up = up + 1
                except:
                        import traceback
                                up = up + 1
                except:
                        import traceback
@@ -122,7 +124,7 @@ def checkAndRecordState(l_sites, l_plcsites):
                        check_site_state(d_site, sitehist)
 
                        count += 1
                        check_site_state(d_site, sitehist)
 
                        count += 1
-                       print "%d %15s slices(%2s) nodes(%2s) up(%2s) %s" % (count, sitename, sitehist.slices_used, 
+                       print "%d %15s slices(%2s) nodes(%2s) notdown(%2s) %s" % (count, sitename, sitehist.slices_used, 
                                                                                        sitehist.nodes_total, sitehist.nodes_up, sitehist.status)
                        sitehist.flush()
 
                                                                                        sitehist.nodes_total, sitehist.nodes_up, sitehist.status)
                        sitehist.flush()
 
index 774ad00..647c9e8 100644 (file)
@@ -311,6 +311,7 @@ class Root(controllers.RootController):
        @expose(template="monitorweb.templates.pcuview")
        @exception_handler(nodeaction_handler,"isinstance(tg_exceptions,RuntimeError)")
        def pcuview(self, loginbase=None, pcuid=None, hostname=None, **data):
        @expose(template="monitorweb.templates.pcuview")
        @exception_handler(nodeaction_handler,"isinstance(tg_exceptions,RuntimeError)")
        def pcuview(self, loginbase=None, pcuid=None, hostname=None, **data):
+               session.clear()
                sitequery=[]
                pcuquery=[]
                nodequery=[]
                sitequery=[]
                pcuquery=[]
                nodequery=[]