When I try to provision a remote server I get an external IP resolution failed error. I set this aside for a while because adding ssh_client_ip_lookup: false to my …/all.main.yml file “fixes” it, but my coworkers do not need that addition. Why do I seem to need ssh_client_ip_lookup: false? Also, if I try api.ipify.org via curl, the response is fast, so it doesn’t seem to be an ipify.org timeout.
I see that this poster wondered if it was a Catalina related problem because it went away for him after changing macOS versions. It so happens that I am on Catalina and my coworkers are not.
My hunch: there’s some issue/difference with Python’s HTTP library making this request which is why it works fine with curl.
Can you provide the full output you get? There should be error output before our "“External IP resolution failed…” message?
The ipify_facts module also takes a validate_certs param. So one quick thing you can try is to set that to false on the task and see if it changes anything.
I have been wondering about network differences. I have previously turned off the firewall and I am not using a proxy or VPN. I do appreciate your comments on those. I thought they were promising as well.
My Python version is 3.9.5. It wasn’t always and it was something I updated during this process.
Interestingly, ssh_client_ip_lookup: false alone, without white-listing my IP avoids the errors. I had previously done both, but a recent test showed that my IP wasn’t necessary in whatever case I am experiencing.
I may upgrade my OS (because I should anyway) and if that doesn’t help I will discuss turning off cert validation or ssh_client_ip_lookup with my team. We are trying to have a consistent deployment routine for all.
I literally had the exact same problem, but it only occurred on the (wifi) network at my work, so it must be network/firewall related. We didn’t have any firewalls installed, but maybe something on the router was blocking it?
Anyway, we also fixed it by adding this line to my group_vars/all/main.yml:
ssh_client_ip_lookup: false
But now with new projects we don’t need that fix anymore, so it might have also be related to our MacOS or Pyhton version at that time, who knows!
Thanks for that information! I am on a wireless network as well. I have tried to see a solution in my router configuration, but no luck. The ssh_client_ip_lookup: false does work for me too, but perhaps like your experience, my coworkers don’t need it.