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
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()
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
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):
return rec
def checkStageAndTime(self, record):
- """
+ """
The core variables are:
send_email_to : defines who to send messages to at this time
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()
import time
import struct
-from monitor.pcu import reboot
+from pcucontrol import reboot
from monitor import util
from monitor import database
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 *
import re
import string
-from monitor.pcu import reboot
+from pcucontrol import reboot
from monitor.wrapper import plc, plccache
api = plc.getAuthAPI()
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
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
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
api = plc.getAuthAPI()
from monitor import database
-from monitor.pcu import reboot
+from pcucontrol import reboot
import time
from nodecommon import *