fixed runtime errors with moved files in model, and reboot
authorStephen Soltesz <soltesz@cs.princeton.edu>
Tue, 25 Nov 2008 23:33:21 +0000 (23:33 +0000)
committerStephen Soltesz <soltesz@cs.princeton.edu>
Tue, 25 Nov 2008 23:33:21 +0000 (23:33 +0000)
findbadpcu.py
grouprins.py
monitor/model.py
monitor/policy.py
nodecommon.py
nodeinfo.py
nodequery.py
pcubad.py
pcucontrol/reboot.py
sitebad.py
siteinfo.py

index f7a3576..3a28478 100755 (executable)
@@ -13,7 +13,7 @@ import threadpool
 import threading
 
 import monitor
-from monitor.pcu import reboot
+from pcucontrol  import reboot
 from monitor import config
 from monitor.database.info.model import FindbadPCURecordSync, FindbadPCURecord, session
 from monitor import util 
index 5ebe912..ba3ba88 100755 (executable)
@@ -17,7 +17,7 @@ from monitor import util
 from monitor import const
 from monitor import database
 from monitor import parser as parsermodule
-from monitor.pcu import reboot
+from pcucontrol  import reboot
 from monitor.wrapper import plc
 api = plc.getAuthAPI()
 
index ce941f2..d06edae 100755 (executable)
@@ -600,6 +600,45 @@ class NodeRecord:
                self.ticket = None
                self.target = target
 
+
+class MonRecord(object):
+       def __init__(self, data):
+               self.keys = data.keys()
+               self.keys.sort()
+               self.__dict__.update(data)
+               return
+
+       def get(self):
+               ret= {}
+               for k in self.keys:
+                       ret[k] = self.__dict__[k]
+               return ret
+
+       def __repr__(self):
+               str = ""
+               str += self.host + "\n"
+               for k in self.keys:
+                       if "message" in k or "msg" in k:
+                               continue
+                       if 'time' in k:
+                               s_time=time.strftime("%Y/%m/%d %H:%M:%S", 
+                                                       time.gmtime(self.__dict__[k]))
+                               str += "\t'%s' : %s\n" % (k, s_time)
+                       else:
+                               str += "\t'%s' : %s\n" % (k, self.__dict__[k])
+               str += "\t--"
+               return str
+
+       def delField(self, field):
+               if field in self.__dict__:
+                       del self.__dict__[field]
+               
+               if field in self.keys:
+                       for i in range(0,len(self.keys)):
+                               if self.keys[i] == field:
+                                       del self.keys[i]
+                                       break
+
 class Action(MonRecord):
        def __init__(self, host, data):
                self.host = host
@@ -647,43 +686,6 @@ def node_end_record(node):
        del act_all
        return True
 
-class MonRecord(object):
-       def __init__(self, data):
-               self.keys = data.keys()
-               self.keys.sort()
-               self.__dict__.update(data)
-               return
-
-       def get(self):
-               ret= {}
-               for k in self.keys:
-                       ret[k] = self.__dict__[k]
-               return ret
-
-       def __repr__(self):
-               str = ""
-               str += self.host + "\n"
-               for k in self.keys:
-                       if "message" in k or "msg" in k:
-                               continue
-                       if 'time' in k:
-                               s_time=time.strftime("%Y/%m/%d %H:%M:%S", 
-                                                       time.gmtime(self.__dict__[k]))
-                               str += "\t'%s' : %s\n" % (k, s_time)
-                       else:
-                               str += "\t'%s' : %s\n" % (k, self.__dict__[k])
-               str += "\t--"
-               return str
-
-       def delField(self, field):
-               if field in self.__dict__:
-                       del self.__dict__[field]
-               
-               if field in self.keys:
-                       for i in range(0,len(self.keys)):
-                               if self.keys[i] == field:
-                                       del self.keys[i]
-                                       break
 
 class LogRoll:
        def __init__(self, list=None):
index cc61fee..a8f3cd7 100644 (file)
@@ -258,7 +258,7 @@ class MonitorMergeDiagnoseSendEscellate:
                return rec
 
        def checkStageAndTime(self, record):
-       """
+               """
                The core variables are:
 
                        send_email_to  : defines who to send messages to at this time
@@ -268,15 +268,15 @@ class MonitorMergeDiagnoseSendEscellate:
                        save_act_all   : whether or not to save the action record in the db.
 
                        action/stage   : stage tracks which state we're in.
-       """
-               stages = {
-                       "initial"               : [ { action='noop', next="weekone"}],
-                       "weekone"               : [ { action='noop',         index=0, save=True, email=TECH,         length=7*SPERDAY,  next="weektwo" }, ],
-                       "weektwo"               : [ { action='nocreate',     index=1, save=True, email=TECH|PI,      length=7*SPERDAY,  next="waitforever" }, ],
-                       "waitforever"   : [ { action='suspendslices',index=2, save=True, email=TECH|PI|USER, length=7*SPERDAY,  next="waitforever" }, ],
-                       "paused"                : [ { action='noop',                              save=True                                              length=30*SPERDAY, next="weekone" }, ]
-                       "improvement"   : [ { action='close_rt',     index=0, save=True, email=TECH,         next="monitor-end-record" }, ],
-               }
+               """
+               #stages = {
+               #       "initial"               : [ { action='noop', next="weekone"}],
+               #       "weekone"               : [ { action='noop',         index=0, save=True, email=TECH,         length=7*SPERDAY,  next="weektwo" }, ],
+               #       "weektwo"               : [ { action='nocreate',     index=1, save=True, email=TECH|PI,      length=7*SPERDAY,  next="waitforever" }, ],
+               #       "waitforever"   : [ { action='suspendslices',index=2, save=True, email=TECH|PI|USER, length=7*SPERDAY,  next="waitforever" }, ],
+               #       "paused"                : [ { action='noop',                              save=True                                              length=30*SPERDAY, next="weekone" }, ]
+               #       "improvement"   : [ { action='close_rt',     index=0, save=True, email=TECH,         next="monitor-end-record" }, ],
+               #}
                # TODO: make this time relative to the PREVIOUS action taken.
                current_time = time.time()
                current_stage = record.getMostRecentStage()
index 9551a4a..082550b 100644 (file)
@@ -1,7 +1,7 @@
 
 import time
 import struct
-from monitor.pcu import reboot
+from pcucontrol import reboot
 
 from monitor import util
 from monitor import database
index 3c8e4e5..29d77bb 100755 (executable)
@@ -8,7 +8,7 @@ from monitor import util
 from monitor import parser as parsermodule
 
 from monitor import database
-from monitor.pcu import reboot
+from pcucontrol  import reboot
 
 import time
 from monitor.model import *
index 4378e2c..3c5428a 100755 (executable)
@@ -13,7 +13,7 @@ import time
 import re
 import string
 
-from monitor.pcu import reboot
+from pcucontrol  import reboot
 from monitor.wrapper import plc, plccache
 api = plc.getAuthAPI()
 
index e13accc..04118e2 100755 (executable)
--- a/pcubad.py
+++ b/pcubad.py
@@ -7,7 +7,7 @@ import time
 from datetime import datetime,timedelta
 
 from monitor import database
-from monitor.pcu import reboot
+from pcucontrol  import reboot
 from monitor import parser as parsermodule
 from monitor import config
 from monitor.database import HistoryPCURecord, FindbadPCURecord
index 9c97f9c..f753471 100755 (executable)
@@ -14,16 +14,16 @@ import array, struct
 from monitor.wrapper import plc
 import base64
 from subprocess import PIPE, Popen
-import ssh.pxssh as pxssh
-import ssh.pexpect as pexpect
+import pcucontrol.transports.ssh.pxssh as pxssh
+import pcucontrol.transports.ssh.pexpect as pexpect
 import socket
 from monitor.util import command
 
 # Use our versions of telnetlib and pyssh
 sys.path.insert(0, os.path.dirname(sys.argv[0]))
-import telnetlib
+import pcucontrol.transports.telnetlib as telnetlib
 sys.path.insert(0, os.path.dirname(sys.argv[0]) + "/pyssh")    
-import pyssh
+import pcucontrol.transports.pyssh as pyssh
 
 # Timeouts in seconds
 TELNET_TIMEOUT = 45
index 2c1628a..12ae8c8 100755 (executable)
@@ -7,7 +7,7 @@ import time
 from datetime import datetime,timedelta
 
 from monitor import database
-from monitor.pcu import reboot
+from pcucontrol  import reboot
 from monitor import parser as parsermodule
 from monitor import config
 from monitor.database import HistorySiteRecord, FindbadNodeRecord
index 609cde2..9101443 100755 (executable)
@@ -4,7 +4,7 @@ from monitor.wrapper import plc
 api = plc.getAuthAPI()
 
 from monitor import database
-from monitor.pcu import reboot
+from pcucontrol  import reboot
 
 import time
 from nodecommon import *