Hi,
I've just setup a testing enviroment for director, and it's not working
as expected. I have just 1 director (called director) and 2 dovecot
servers (dovecot1 and dovecot2); these are exact copies.
First problem: when both dovecot servers are up, every imap connection
is redirected to the same server as you can see here:
$ sudo doveadm director map
user mail server ip expire time
<unknown> 158.227.4.186 2012-06-06
13:34:12
<unknown> 158.227.4.186 2012-06-06
13:34:27
<unknown> 158.227.4.186 2012-06-06
13:34:34
(I don't know if that <unknown> is good or not)
I've tried with 3 different users and ips to no change, users are always
directed to the same host.
Second problem: if I try to add/remove/modify one of the dovecot
servers, the output of doveadm director map/status seems to be ok, but
any new user connection fails with this log:
Jun 6 14:51:59 director dovecot: director: Warning: Delaying new user
requests until ring is synced
Jun 6 14:52:27 director dovecot: director: Error: director: User test1
host lookup failed: Timeout - queued for 30 secs (Ring not synced for 73
secs)
Jun 6 14:52:31 director dovecot: imap-login: Aborted login (auth
failed, 1 attempts in 34 secs): user=<>, method=PLAIN,
rip=158.227.4.186, lip=158.227.4.185, TLS, session=<Oyx9O83B/wCe4wS6>
Any clue?
This is the dovecot config -n output:
# 2.1.7: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-220.17.1.el6.x86_64 x86_64 Red Hat Enterprise Linux
Server release 6.2 (Santiago)
director_mail_servers = dovecot1.example dovecot2.example
director_servers = director.example
lmtp_proxy = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
passdb {
args = proxy=y nopassword=y starttls=any-cert
driver = static
}
service auth {
unix_listener auth-userdb {
group = mail
mode = 0660
user = dovecot
}
}
service director {
fifo_listener login/proxy-notify {
mode = 0666
}
inet_listener {
port = 9090
}
unix_listener director-userdb {
mode = 0600
}
unix_listener login/director {
mode = 0666
}
}
service imap-login {
executable = imap-login director
service_count = 0
}
service lmtp {
client_limit = 1
inet_listener lmtp {
port = 24
}
unix_listener /var/lib/dovecot/lmtp-socket {
group = root
mode = 0600
user = root
}
}
service pop3-login {
executable = pop3-login director
service_count = 0
}
service pop3 {
process_limit = 5000
}
shutdown_clients = no
ssl_cert = </etc/ssl/private/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
driver = passwd
}
verbose_proctitle = yes
version_ignore = yes
protocol lmtp {
auth_socket_path = director-userdb
}
protocol imap {
mail_max_userip_connections = 100
}