- def emailSick(self):
- for node in self.cmn.ssh:
- if node in self.cursick:
- if node not in self.emailed.keys():
- logger.debug("Emailing " + node)
- try:
- self.emailed[node] = "ssh"
- mailer.email('DISREGARD',
- emailTxt.mailtxt.STANDARD % {'hostname': node},
- "tech-" + mailer.siteId(node) + "@sites.planet-lab.org")
- except Exception, err:
- logger.info(err)
+ def emailsick(self):
+ # Get list of nodes in debug from PLC
+ #dbgNodes = NodesDebug()
+
+ node = self.sickNoTicket.get(block = True)
+ # Get the login base
+ id = mailer.siteId(node)
+
+ if not id:
+ logger.info("loginbase for %s not found" %node)
+ elif node not in self.emailed.keys():
+ # Email about Down.
+ if node in self.cmn.down:
+ logger.debug("POLICY: Emailing (down) " + node)
+ self.emailed[node] = ("down", time.localtime())
+ msg = emailTxt.mailtxt.DOWN \
+ % {'hostname': node}
+ mailer.email(node + " down", msg,
+ "tech-" + id + "@sites.planet-lab.org")
+ return
+
+ # Email about no SSH.
+ if node in self.cmn.ssh:
+ logger.debug("POLICY: Emailing (ssh) " + node)
+ self.emailed[node] = ("ssh", time.localtime())
+ msg = emailTxt.mailtxt.SSH \
+ % {'hostname': node}
+ mailer.email(node + " down", msg,
+ "tech-" + id + "@sites.planet-lab.org")
+ return
+
+ # Email about DNS
+ if node in self.cmn.dns:
+ logger.debug("POLICY: Emailing (dns)" + node)
+ self.emailed[node] = ("dns", time.localtime())
+ msg = emailTxt.mailtxt.DNS \
+ % {'hostname': node}
+ mailer.email("Please update DNS used by " \
+ + node, msg,
+ "tech-" + id + "@sites.planet-lab.org")
+ return
+