[Freeipa-devel] [PATCH] 1014 configurable service timeout

Martin Kosek mkosek at redhat.com
Tue May 29 12:04:35 UTC 2012


On Thu, 2012-05-24 at 11:38 -0400, Rob Crittenden wrote:
> Petr Viktorin wrote:
> > On 05/18/2012 10:03 PM, Rob Crittenden wrote:
> >> Rob Crittenden wrote:
> >>> A hardcoded timeout was used in ipactl for service restarts, set rather
> >>> low. A separate timeout was hardcoded into the installer.
> >>>
> >>> I centralized them into a single timeout, configurable in the standard
> >>> way in /etc/ipa/*.conf.
> >>>
> >>> On install it will always default to 120 seconds and remain there unless
> >>> changed in default.conf (not replicated either).
> >>>
> >>> I tested this on systemd systems and sysV systems and it works ok for
> >>> me. You'll also want to double-check that this works when other 389-ds
> >>> instances are installed.
> >>>
> >>> Getting the naming of instances right was a bit tricky.
> >>
> >> Noticed a problem on upgrades and fixed that. Updated patch attached.
> >>
> >> rob
> >>
> >>
> >
> > Please rebase the patch onto current master.
> >
> >
> 
> Done

This is a good start. I just found few places where I found that the
remaining wait function calls are redundant:

1) install/tools/ipactl:

        if lurl.urlscheme == 'ldapi':
-            wait_for_open_socket(lurl.hostport, timeout=6)
+            wait_for_open_socket(lurl.hostport,
timeout=api.env.startup_timeout)
         else:
             (host,port) = lurl.hostport.split(':')
-            wait_for_open_ports(host, [int(port)], timeout=6)
+            wait_for_open_ports(host, [int(port)],
timeout=api.env.startup_timeout)

Aren't these calls redundant? We already wait for ports when dirsrv is
started (dirsrv.start()) or restarted (dirsrv.restart()). 


2) ipaserver/install/replication.py:
-        installutils.wait_for_open_ports('localhost', [389, 636], 300)
+        ipautil.wait_for_open_ports('localhost', [389, 636], 300)

Isn't this now redundant? Port check should be done in service restart.

3) ipaserver/install/plugins/updateclient.py:

-            installutils.wait_for_open_socket(socket_name)
+            wait_for_open_socket(socket_name)

Also seems redundant, dirsrv should be already up as it was restarted
via our Service framework. Though we only check for ports in the Service
framework, I wonder if this is enough and we can be sure that when ports
are up, the LDAPI socket is also up.

Martin




More information about the Freeipa-devel mailing list