Bug 1388335

Summary: unhandled exception when sending emails to alert recipients
Product: Red Hat Enterprise Linux 6 Reporter: Milos Malik <mmalik>
Component: setroubleshootAssignee: Petr Lautrbach <plautrba>
Status: CLOSED WONTFIX QA Contact: Milos Malik <mmalik>
Severity: low Docs Contact:
Priority: low    
Version: 6.8CC: lvrabec, mgrepl, mmalik, plautrba, ssekidde
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1388338 (view as bug list) Environment:
Last Closed: 2016-10-25 12:25:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Milos Malik 2016-10-25 07:02:42 UTC
Description of problem:
* traceback happens when email alerts are enabled and local mail servers are down
* SELinux denials are analyzed as expected, but email alerts are not sent

Version-Release number of selected component (if applicable):
setroubleshoot-server-3.0.47-11.el6.x86_64
setroubleshoot-plugins-3.0.40-2.el6.noarch
setroubleshoot-3.0.47-11.el6.x86_64

How reproducible:
* always

Steps to Reproduce:
0. echo "root@localhost filter_type=never" >> /var/lib/setroubleshoot/email_alert_recipients
1. stop all local mail servers
2. trigger an SELinux denial
3. look into /var/log/messages or /var/log/setroubleshoot/setroubleshootd.log

Actual results:
2016-10-25 02:54:06,364 [avc.ERROR] Exception during AVC analysis: [Errno 111] Connection refused
Traceback (most recent call last):
  File "/usr/lib64/python2.6/site-packages/setroubleshoot/analyze.py", line 234, in run
    self.analyze_avc(avc, report_receiver)
  File "/usr/lib64/python2.6/site-packages/setroubleshoot/analyze.py", line 214, in analyze_avc
    report_receiver.report_problem(siginfo)
  File "/usr/lib64/python2.6/site-packages/setroubleshoot/server.py", line 195, in report_problem
    email_alert(siginfo, to_addrs)
  File "/usr/lib64/python2.6/site-packages/setroubleshoot/email_alert.py", line 74, in email_alert
    smtp = smtplib.SMTP(smtp_host, smtp_port)
  File "/usr/lib64/python2.6/smtplib.py", line 244, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib64/python2.6/smtplib.py", line 300, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib64/python2.6/smtplib.py", line 278, in _get_socket
    return socket.create_connection((port, host), timeout)
  File "/usr/lib64/python2.6/socket.py", line 567, in create_connection
    raise error, msg
error: [Errno 111] Connection refused

Expected results:
 * all exceptions are handled