From d21bd600cca71730d73898df0ba7a4cd11257c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20=27sil2100=27=20Zemczak?= Date: Tue, 25 Jun 2019 16:16:26 +0200 Subject: [PATCH] SRU ADT regression: handle errors in sendmail. --- britney2/policies/sruadtregression.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/britney2/policies/sruadtregression.py b/britney2/policies/sruadtregression.py index 36b005d..69a8eb3 100644 --- a/britney2/policies/sruadtregression.py +++ b/britney2/policies/sruadtregression.py @@ -1,5 +1,6 @@ import os import json +import socket import smtplib from urllib.request import urlopen, URLError @@ -106,18 +107,22 @@ class SRUADTRegressionPolicy(BasePolicy, Rest): bugs = self.bugs_from_changes(changes_url) # Now leave a comment informing about the ADT regressions on each bug for bug in bugs: - if not self.dry_run: - bug_mail = '%s@bugs.launchpad.net' % bug - server = smtplib.SMTP(self.email_host) - server.sendmail( - 'noreply@canonical.com', - bug_mail, - MESSAGE.format(**locals())) - server.quit() self.log('%sSending ADT regression message to LP: #%s ' 'regarding %s/%s in %s' % ( "[dry-run] " if self.dry_run else "", bug, source_name, version, series_name)) + if not self.dry_run: + try: + bug_mail = '%s@bugs.launchpad.net' % bug + server = smtplib.SMTP(self.email_host) + server.sendmail( + 'noreply@canonical.com', + bug_mail, + MESSAGE.format(**locals())) + server.quit() + except socket.error as err: + self.log('Failed to send mail! Is SMTP server running?') + self.log(err) self.save_progress(source_name, version, distro_name, series_name) return PolicyVerdict.PASS