-from monitor import reboot
from monitor.common import *
from monitor.model import *
from monitor.wrapper import plc
from monitor.wrapper import plccache
from monitor.wrapper.emailTxt import mailtxt
from monitor.database.info.model import *
+# NOTE: must import this after monitor.database.info.model b/c that imports
+# pcucontro.reboot and blocks this version, if it comes last.
+from monitor import reboot
class SiteInterface(HistorySiteRecord):
@classmethod
# those errors.
args = {'loginbase' : self.db.loginbase,
- 'penalty_level' : self.db.penalty_level,
+ 'penalty_level' : -self.db.penalty_level,
'monitor_hostname' : config.MONITOR_HOSTNAME,
'support_email' : config.support_email,
'plc_name' : config.PLC_NAME,
m = Message(message[0] % args, message[1] % args, viart, self.db.message_id)
if ccemail:
- contacts = [config.cc_email]
+ contacts = [config.exception_email]
else:
contacts = self.getContacts()
def runBootManager(self, hostname):
from monitor import bootman
print "attempting BM reboot of %s" % hostname
- ret = ""
+ ret = "error"
try:
ret = bootman.restore(self, hostname)
err = ""
err = traceback.format_exc()
print err
+ # TODO: keep this record so that the policy.py can identify all
+ # bootmanager_* actions without explicitly listing every kind.
act = ActionRecord(loginbase=self.db.loginbase,
hostname=hostname,
action='reboot',
action_type='bootmanager_restore',
+ error_string="")
+
+ if ret:
+ act = ActionRecord(loginbase=self.db.loginbase,
+ hostname=hostname,
+ action='reboot',
+ action_type='bootmanager_' + ret,
error_string=err)
return ret