Ansible Galaxy server not responding during requirements install

Hi,
When executing the install step: Install the Ansible Galaxy roles, I get the following error:

> ansible-galaxy install -r requirements.yml
 [WARNING]: - composer was NOT installed successfully: The API server (https://galaxy.ansible.com/api/) is not responding, please try again later

ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.

The api server is contactable using curl so it’s not a connectivity issue:
> curl https://galaxy.ansible.com/api/
{“available_versions”:{“v1”:"/api/v1/"},“description”:“GALAXY REST API”,“current_version”:“v1”}

Anyone know how to get the setup to recognize the Ansible Galaxy server?
I’m on OSX Yosemite with the following versions:

  • Vagrant 1.8.5
  • ansible 2.1.0.0
  • ansible-galaxy 2.1.0.0
  • Python 2.7.4
  • VirtualBox 5.0.20 r106931

For anyone else who gets this, in my case the issue was that ansible didn’t like something in my .netrc file.
I installed ansible dev version (2.2.0) and it displayed a more descriptive message.

$ ansible-galaxy install requirements.yml 
 [WARNING]: - install was NOT installed successfully: Failed to get data from the API server (https://galaxy.ansible.com/api/): ~/.netrc
access too permissive: access permissions must restrict access to only the owner (/Users/darren/.netrc, line 3)

The netrc file had only 3 lines containing one machine and didn’t look anything out of the ordinary. I just emptied the file and the ansible-galaxy install ran fine afterwards.

This error occur when permissions have changed on the ~/.netrc file. Just run $ sudo chmod 600 ~/.netrc to fix the problem.

4 Likes

Hey guys,

I ran into a similar (though CA related) issue to @thedags:

[WARNING]: - composer was NOT installed successfully: Failed to get data from the API server (https://galaxy.ansible.com/api/): Failed to validate the SSL certificate for galaxy.ansible.com:443. Make sure your managed systems have a valid CA certificate installed. You can use validate_certs=False if you do not need to confirm the servers identity but this is
unsafe and not recommended. Paths checked for this platform: /etc/ssl/certs, /etc/ansible, /usr/local/etc/openssl

ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.

I think this has to be related to another issue I posted to Composer’s github today:

Note: This is the first Roots project I’ve ever worked on in Hong Kong, China (different than mainland China’s internet). I’m experiencing this issue on two seperate machines, so I doubt the issue is local. This also means it’s not really “Roots’ problem”, but I would love it if anyone has any tips. I don’t have a .netrc file on my machines, so that might not apply to me. Thanks!

Edit: Just switched off my wi-fi, and the ansible cert issue was resolved (using ethernet). No idea why, but galaxy requirements install worked. :confused:

Fix: Using a VPN has fixed the issue for now. Slows it down, but does the trick!