On Fri, 14 Oct 2011, Simo Sorce wrote:
> > > Attached a rebased patch with the modifications needed to apply it on
> > > master.
> > >
> > > Everything seem to work on master but I haven't tested ipa-2-1 so this
> > > is a partial ACK of the original patch as well.
> > A bit of bad news, I restarted the machine and I am having issue
> > properly restarting services.
> > This patch is still better than nothing as otherwise nothing works at
> > all on f16, but we need to work out why starting services is unreliable.
> Ok found the issue and it is a bug in the conversion to systemd.
> I opened ticket #1990 for this.
> Attached find a rebased patch that fixes enough of the bug to let the
> server work (they keytab part), but it doesn't address the ulimit part.
KRB5_KTNAME was missing but LimitNOFile is available -- it is now
modified in dirsrv@.service file directly. The code in
ipapython/platform/fedora16.py goes to a great length to enable that
by copying file to /etc/systemd/system, modifying the config, and
relinking all dirsrv instances to it. That's how systemd is organized.
Now, I think I found actual issue preventing proper restarts.
wait_for_socket() only considered 'connection refused' as valid error
when unable to connect and waiting up until timeout is gone.
Unfortunately, directory services start a bit slower than we had hoped
and by the time we attempt to connect to local AF_UNIX socket, there
is no actual socket on file system yet so we get:
Oct 17 06:48:36 vm-114 ipactl: Failed to read data from Directory
Service: Unknown error when retrieving list of services from LDAP:
[Errno 2] No such file or directory
Oct 17 06:48:36 vm-114 ipactl: Shutting down
Oct 17 06:48:36 vm-114 ipactl: Starting Directory Service
After applying attached patch I now have fully working FreeIPA 2.1 git
on Fedora 16.
/ Alexander Bokovoy
>From cb5583ad8023d87fdbf863cd65032d0f11108bc0 Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy <aboko...@redhat.com>
Date: Mon, 17 Oct 2011 14:17:07 +0300
Subject: [PATCH 4/4] Spin for connection success also when socket is not
We were spinning for socket connection if attempt to connect returned errno 111
(connection refused). However, it is not enough for local AF_UNIX sockets as
heavy applications might not be able to start yet and therefore the whole path
might be missing. So spin for errno 2 (no such file or directory) as well.
Partial fix for
ipaserver/install/installutils.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/ipaserver/install/installutils.py
@@ -507,7 +507,7 @@ def wait_for_open_socket(socket_name, timeout=0):
except socket.error, e:
- if e.errno == 111: # 111: Connection refused
+ if e.errno in (2,111): # 111: Connection refused, 2: File not
if timeout and time.time() > op_timeout: # timeout exceeded
Freeipa-devel mailing list