ansible-galaxy (ansible2.0.0) : backwards uncompatibility (anisble1.9.4)

Summary:

Before Ansible2, we used ansible-galaxy program to assembly our project workspace (See above a sample ot requirements.yml file)

ansible-galaxy install -f -r requirements.yml

The directories path/name were then created or updated and we were able to use ansible-galaxy for other items than roles (i.e. plugins, modules).

  • It was working offline (we are behind a firewall)
  • It was easy to share Ansible code inside our company.
  • It was possible to use different SCM for the code (Gitlab of Dev Teams, Gitlab of Ops Teams…)

Unfortunately, since version 2, ansible-galaxy has been entirely refactored.
=> So we overrides this behaviour by replacing ansible-galaxy.py (Ansible2+) by ansible-galaxy.py file from Ansible 1.9.4

Our questions are, will the galaxy design change to be able :

  • To deal with other objects than roles (param: path) ?
  • To deal with different url of Galaxy (Sources from Dev, sources from Ops…) ?
  • To work offline ?

Ansible Version: 2

ansible 2.0.0.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

This was a bug in 1.9, it should have never allowed requirements files to arbitrarily overwrite paths on the users’s machine.

Thanks for the answer Brian.

But what about the offline mode, the capability to use ansible-galaxy to retrieve modules and plugins and not only roles from different repositories ?

Is there a place to ask for a new feature (add an issue in the Github project) ?

Regards,
Nicolas

There is already a PR for offline mode, as for ansible-galaxy doing more than roles, that is a no for the foreseeable future, you can still use roles to encapsulate, share and use plugins though.