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)]
+
+       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(',')
 
@@ -164,6 +173,7 @@ if __name__ == '__main__':
                                                pcuid=None,
                                                pcuselect=None,
                                                site=None,
+                                               node=None,
                                                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("", "--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", 
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)]
+
+       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 \
@@ -131,11 +140,13 @@ def checkAndRecordState(l_pcus, l_plcpcus):
 
 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("", "--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")
 
@@ -145,6 +156,6 @@ if __name__ == '__main__':
                main2(config)
        except Exception, err:
                import traceback
-               print traceback.print_exc()
+               traceback.print_exc()
                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.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
 
@@ -28,6 +28,8 @@ def main2(config):
 
        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
@@ -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 \
-                               (nodebl is not None and not nodebl.expired():
+                               (nodebl is not None and not nodebl.expired()):
                                up = up + 1
                except:
                        import traceback
@@ -122,7 +124,7 @@ def checkAndRecordState(l_sites, l_plcsites):
                        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()
 
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):
+               session.clear()
                sitequery=[]
                pcuquery=[]
                nodequery=[]