[SSSD] [PATCH] Make use of failover code in backends.

Simo Sorce ssorce at redhat.com
Fri Nov 20 13:59:49 UTC 2009


On Fri, 2009-11-20 at 12:23 +0100, Sumit Bose wrote:
> On Mon, Nov 16, 2009 at 05:55:51PM -0500, Simo Sorce wrote:
> > This patch implements the use of the fail_over code under the control of
> > the data provider backend code. All providers share the same failover
> > structure and if they use the same service name, they also share the
> > same servers lists.
> 
> Please add a utility function to split the server list.

I can't make a generic function, the ldap backend uses URIs like
ldap://foo.bar:123, ldaps://bar.baz
While the IPa backend uses a list of fqdns: fo.bar.baz, foo2.bar.baz

So each backend has to init on it's own based on the syntax it uses.

> > A set of callbacks is made available so that if a new resolution is
> > performed that changes the server currently in use then all providers
> > can update their status.
> > 
> > I have done limited testing with the ipa backend which exercises both
> > the ldap and krb code, although the standalone krb code still doesn't
> > implement using the failover code.
> > 
> > Simo.
> > 
> 
> I have tested with with three server and can see that they are tried one
> after the other, but if the last one is reached and fails it looks like
> it never tries other servers again. I only get:
> 
> [sssd[be[NEWIPA]]] [fo_resolve_service_send] (1): No available servers
> for service 'IPA'.

Although I also have seen a longer dealy than I expect this should start
working after a few tries, when the failover code decides the blackout
for a specific server is over.

If that doesn't happen we need a patch for the failover code I think.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York




More information about the sssd-devel mailing list