It looks like if the etcd cluster is unreachable then the client spins with Failed to connect to endpoint 'example.com:2379'. I think the desired behavior would be it should try each endpoint once, and if there is only one endpoint, it should raise immediately.
It also looks like there is retry parameter that a user could use to adjust this further.
There are two issues as I see it
- The infinite recursion
- The retry parameter isn't used / cannot be set
I can totally take a stab at it if you like! Just let me know, thanks!