add pcu_name to pcufailed_notice
[monitor.git] / monitor / common.py
index d082dbb..d3dc895 100644 (file)
@@ -4,7 +4,7 @@ import struct
 from monitor import reboot
 from monitor import util
 from monitor import database
-from monitor.wrapper import plc, plccache
+from monitor.wrapper import plc
 
 from datetime import datetime, timedelta
 from monitor.model import Message
@@ -58,26 +58,26 @@ def color_pcu_state(fbnode):
                rb = values['reboot']
                if rb == 0 or rb == "0":
                        return fbnode['pcu'] + "OK  "
-                       #return fbnode['pcu'] + "OK  "
-                       #return green(fbnode['pcu'])
                elif "NetDown" == rb  or "Not_Run" == rb:
                        return fbnode['pcu'] + "DOWN"
-                       #return yellow(fbnode['pcu'])
                else:
                        return fbnode['pcu'] + "BAD "
-                       #return red(fbnode['pcu'])
        else:
-               #return red(fbnode['pcu'])
                return fbnode['pcu'] + "BAD "
 
 def color_boot_state(l):
        if    l == "dbg": return yellow("debg")
        elif  l == "dbg ": return yellow("debg")
+       elif  l == "failboot": return yellow("debg")
        elif  l == "diag": return lightblue(l)
+       elif  l == "diagnose": return lightblue(l)
+       elif  l == "safeboot": return lightblue(l)
        elif  l == "disable": return red("dsbl")
+       elif  l == "disabled": return red("dsbl")
        elif  l == "down": return red(l)
        elif  l == "boot": return green(l)
        elif  l == "rins": return blue(l)
+       elif  l == "reinstall": return blue(l)
        else:
                return l
 
@@ -187,6 +187,7 @@ def get_nodeset(config):
                Given the config values passed in, return the set of hostnames that it
                evaluates to.
        """
+       from monitor.wrapper import plccache
        api = plc.getAuthAPI()
        l_nodes = plccache.l_nodes
 
@@ -214,15 +215,20 @@ def get_nodeset(config):
 
        return l_nodes
 
-def email_exception(content=None):
+def email_exception(content=None, title=None):
     import config
     from monitor.model import Message
     import traceback
     msg=traceback.format_exc()
     if content:
         msg = content + "\n" + msg
-    m=Message("exception running monitor", msg, False)
-    m.send([config.cc_email])
+
+    full_title = "exception running monitor"
+    if title:
+        full_title = "exception running monitor %s" % title
+
+    m=Message(full_title, msg, False)
+    m.send([config.exception_email])
     return
 
 def changed_lessthan(last_changed, days):