[PATCH 1/2] FO: Don't retry the same server if it's not working
This is a regression (luckily in master only) caused by my earlier patch
to return the same server if it's already being resolved, which is the
case in IPA provider where we need to kinit as part of id lookup.
I broke the case where we need to do a failover operation even between
we returned the server to the backend, which is done if a server cannot
be resolved and the be_fo_ layer queries failover for another.
[PATCH 2/2] FO: Return EAGAIN if there are more servers to try
The failover uses ENOENT to indicate that there are no more available
servers and the provider needs to go offline. However, when the resolver
returned ENOENT after failing to resolve a host name, we would just pass
ENOENT up as-is. The net effect was that if a server could not be
resolved, the whole provider went offline.