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