merge from 2.0 branch
[monitor.git] / findall.py
1 #!/usr/bin/python 
2
3 from monitor import parser as parsermodule
4 from findbad import main as findbad_main
5 from findbadpcu import main as findbadpcu_main
6 from sitebad import main as sitebad_main
7 from nodebad import main as nodebad_main
8 from pcubad import main as pcubad_main
9 from monitor.wrapper import plccache
10 from monitor.database.info.model import  *
11 from monitor.common import  *
12 import sys
13
14 if __name__ == '__main__':
15
16         parser = parsermodule.getParser(['nodesets'])
17
18         parser.set_defaults( increment=False, dbname="findbad", cachenodes=False, 
19                                                 force=False, pcuselect=None, pcuid=None, pcu=None)
20         parser.add_option("", "--cachenodes", action="store_true",
21                                                 help="Cache node lookup from PLC")
22         parser.add_option("", "--dbname", dest="dbname", metavar="FILE", 
23                                                 help="Specify the name of the database to which the information is saved")
24         parser.add_option("-i", "--increment", action="store_true", dest="increment", 
25                                                 help="Increment round number to force refresh or retry")
26         parser.add_option("", "--force", action="store_true", dest="force", 
27                                                 help="Force probe without incrementing global 'round'.")
28
29         parser = parsermodule.getParser(['defaults'], parser)
30         
31         cfg = parsermodule.parse_args(parser)
32
33         try:
34                 print "findbad"
35                 findbad_main()
36                 print "befor-len: ", len( [ i for i in session] )
37                 session.flush(); session.clear()
38                 print "after-len: ", len( [ i for i in session] )
39                 print "findbadpcu"
40                 findbadpcu_main()
41                 print "befor-len: ", len( [ i for i in session] )
42                 session.flush(); session.clear()
43                 print "after-len: ", len( [ i for i in session] )
44                 print "nodebad"
45                 nodebad_main()
46                 print "befor-len: ", len( [ i for i in session] )
47                 session.flush(); session.clear()
48                 print "after-len: ", len( [ i for i in session] )
49                 print "pcubad"
50                 pcubad_main()
51                 print "befor-len: ", len( [ i for i in session] )
52                 session.flush(); session.clear()
53                 print "after-len: ", len( [ i for i in session] )
54                 print "sitebad"
55                 sitebad_main()
56                 print "befor-len: ", len( [ i for i in session] )
57                 session.flush(); session.clear()
58                 print "after-len: ", len( [ i for i in session] )
59         except Exception, err:
60                 import traceback
61                 email_exception()
62                 print traceback.print_exc()
63                 print "Exception: %s" % err
64                 print "Saving data... exitting."
65                 sys.exit(0)