Bug 1309946

Summary: dovecot fails to start on boot with error: Cannot assign requested address
Product: Red Hat Enterprise Linux 7 Reporter: George Notaras <gnot>
Component: dovecotAssignee: Michal Hlavinka <mhlavink>
Status: CLOSED DUPLICATE QA Contact: qe-baseos-daemons
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.2   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-19 16:47:30 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 George Notaras 2016-02-19 04:09:27 UTC
Description of problem:

Dovecot fails to start after a reboot as it cannot bind to the specified IP addresses. The relevant part in /var/log/messages:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Feb 19 03:28:36 mail systemd: Started Dovecot IMAP/POP3 email server.
Feb 19 03:28:36 mail dovecot: Error: bind(IP_ADDR_HERE, 995) failed: Cannot assign requested address
Feb 19 03:28:36 mail dovecot: Error: service(pop3-login): listen(mail.example.net, 995) failed: Cannot assign requested address
Feb 19 03:28:36 mail dovecot: Error: bind(IP_ADDR_HERE, 993) failed: Cannot assign requested address
Feb 19 03:28:36 mail dovecot: Error: service(imap-login): listen(mail.example.net, 993) failed: Cannot assign requested address
Feb 19 03:28:36 mail dovecot: Fatal: Failed to start listeners
Feb 19 03:28:36 mail systemd: dovecot.service: main process exited, code=exited, status=89/n/a
Feb 19 03:28:36 mail systemd: Unit dovecot.service entered failed state.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Version-Release number of selected component (if applicable):
~]# rpm -q dovecot
dovecot-2.2.10-5.el7.x86_64

How reproducible:

Reproducible on every reboot.

Additional info:

The resolution involves fixing the ordering of dependencies and setting the dovecot service to start after the network has entered the online state.

Helpful instructions how to overcome the issue for anyone who reads this bug report:

1. Create a file at /etc/systemd/system/dovecot.service with the following contents:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.include /usr/lib/systemd/system/dovecot.service

[Unit]
After=network-online.target
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2. Issue the command:

~]# systemctl daemon-reload

or reboot.

Note: All credit for the workaround goes to the wise folks at #centos.

Comment 2 Michal Hlavinka 2016-02-19 16:47:30 UTC

*** This bug has been marked as a duplicate of bug 1209006 ***