X-Git-Url: http://xvm.mit.edu/gitweb/invirt/scripts/outage.git/blobdiff_plain/cb73e2a3963392c6670bc3de3a3db3993126bba7..8326b077e6fe9d5ab33bc4880dd03717b0c53c93:/outage-mail diff --git a/outage-mail b/outage-mail index ed75737..84ba26e 100644 --- a/outage-mail +++ b/outage-mail @@ -1,46 +1,74 @@ #!/usr/bin/python -import smtplib -from invirt.database import * -from email.mime.text import MIMEText - -sender = 'Greg Price ' -sendername = sender.split()[0] -host = 'arklay-mansion' +""" -message = """\ -One of the four XVM host servers, %s, failed tonight at -about 23:17 and was rebooted. We're working to understand the cause. +VM names on stdin. +""" -Your VM %%s was running on %s. We have restarted it. - -We realize that this is an inconvenience for you, and we apologize for -the unexpected downtime. - -- %s -for the XVM team -""" % (host, host, sendername) +import smtplib +import optparse +import sys +from email.mime.text import MIMEText -vms = "amd64-test brain-trust cluster-test david-vista debathena-livecd-build ecprice gradbook greg-ns1 greg-ns2 groovy htns iodine jsoltren latex liftm medkaz mhd mksvn niska polarix price-lenny price-test8 qren2 shawn-of-awesome staxowax tdc tdc-secure thesecrete tor transistor watmap".split() +from invirt import database -def send_mail(vm): - contact = Machine.query.filter_by(name=vm).first().contact +def send_mail(smtp, opts, message, vm): + contact = database.Machine.query.filter_by(name=vm).first().contact if '@' not in contact: contact += '@mit.edu' msg = MIMEText(message % vm) msg['To'] = contact msg['CC'] = 'XVM ' msg['Reply-To'] = 'XVM ' - msg['From'] = sender - msg['Subject'] = '[xvm] Unexpected reboot of your VM %s' % vm - s.sendmail(sender, + msg['From'] = opts.from_addr + msg['Subject'] = opts.subject % vm + smtp.sendmail(opts.from_addr, [contact, 'xvm@mit.edu'], msg.as_string()) -connect() -s = smtplib.SMTP() -s.connect() +def main(argv): + parser = optparse.OptionParser( + usage = '%prog {-m message, -f from} [options]