file operations for reading and writing lists of nodes/sites/pcus, etc.
[monitor.git] / monitor.py
index 8891b25..48fa514 100644 (file)
@@ -6,45 +6,52 @@
 #
 # $Id: monitor.py,v 1.7 2007/07/03 19:59:02 soltesz Exp $
 
-import soltesz
+import database
 
 from monitor_policy import *
 import rt
+import sys
 
 import plc
-import auth
-api = plc.PLC(auth.auth, auth.plc)
+api = plc.getAuthAPI()
+
+from clean_policy import *
 
 def reboot(hostname):
+       print "calling reboot!!! %s " % hostname
 
        l_nodes = api.GetNodes(hostname)
        if len(l_nodes) == 0:
                raise Exception("No such host: %s" % hostname)
        
-       l_blacklist = soltesz.if_cached_else(1, "l_blacklist", lambda : [])
-       l_ticket_blacklist = soltesz.if_cached_else(1,"l_ticket_blacklist",lambda : [])
+       l_blacklist = database.if_cached_else(1, "l_blacklist", lambda : [])
+       l_ticket_blacklist = database.if_cached_else(1,"l_ticket_blacklist",lambda : [])
 
        l_nodes  = filter(lambda x : not x['hostname'] in l_blacklist, l_nodes)
        if len(l_nodes) == 0:
                raise Exception("Host removed via blacklist: %s" % hostname)
 
-       ad_dbTickets = soltesz.if_cached_else_refresh(True, False, "ad_dbTickets", lambda : [])
+       ad_dbTickets = database.if_cached_else_refresh(True, False, "ad_dbTickets", lambda : [])
        if ad_dbTickets == None:
                raise Exception("Could not find cached dbTickets")
 
+       print "starting new thing"
+       mon = MonitorMergeDiagnoseSendEscellate(hostname, True)
+       mon.run()
+
        #print "merge"
-       merge = Merge( [node['hostname'] for node in l_nodes])
-       record_list = merge.run()
-       #print "rt"
-       rt = RT(record_list, ad_dbTickets, l_ticket_blacklist)
-       record_list = rt.run()
-       #print "diagnose"
-       diag = Diagnose(record_list)
-       diagnose_out = diag.run()
+       #merge = Merge( [node['hostname'] for node in l_nodes])
+       #record_list = merge.run()
+       ##print "rt"
+       #rt = RT(record_list, ad_dbTickets, l_ticket_blacklist)
+       #record_list = rt.run()
+       ##print "diagnose"
+       #diag = Diagnose(record_list)
+       #diagnose_out = diag.run()
        #print diagnose_out
        #print "action"
-       action = Action(diagnose_out)
-       action.run()
+       #action = Action(diagnose_out)
+       #action.run()
 
        return True
 
@@ -53,14 +60,14 @@ def reboot2(hostname):
        if len(l_nodes) == 0:
                raise Exception("No such host: %s" % hostname)
        
-       l_blacklist = soltesz.if_cached_else(1, "l_blacklist", lambda : [])
-       l_ticket_blacklist = soltesz.if_cached_else(1,"l_ticket_blacklist",lambda : [])
+       l_blacklist = database.if_cached_else(1, "l_blacklist", lambda : [])
+       l_ticket_blacklist = database.if_cached_else(1,"l_ticket_blacklist",lambda : [])
 
        l_nodes  = filter(lambda x : not x['hostname'] in l_blacklist, l_nodes)
        if len(l_nodes) == 0:
                raise Exception("Host removed via blacklist: %s" % hostname)
 
-       ad_dbTickets = soltesz.if_cached_else_refresh(True, False, "ad_dbTickets", lambda : None)
+       ad_dbTickets = database.if_cached_else_refresh(True, False, "ad_dbTickets", lambda : None)
        if ad_dbTickets == None:
                raise Exception("Could not find cached dbTickets")
 
@@ -91,7 +98,9 @@ def reboot2(hostname):
 
 
 def main():
-       pass
+       for host in sys.argv[1:]:
+               reboot(host)
 
 if __name__ == '__main__':
+       print "calling main"
        main()