"ansible --version" no longer reports the version of the "ansible"
plugin. The version of the software no longer has anything to do with
the version of the pypo.org published tarball, it's confusing for
everyone. To check this, use "pip list | grep ansible" or "pip3 list |
grep ansible", depending on your operating system's base version of
python.
ansible < 2.10 actually contains the ansible software
ansible >= 2.10 does not contain the ansible software, the name is
very confusing.
ansible-core >= 2.10 actually contains the critical software but
is published via a pypo.org tarball with a new name.
https://github.com/ansible/ansible/ no longer contains the
tools for the "ansible" tarball at pypi.org
That git repo now contains ansible-core source code
To install ansible commands, use "pip install ansible-core"
Nearly all python requirements need to reset their
requirements.txt as "ansible-core" to get the working ansible python
modules..
This is confusing as hell. I'd love to see the notes or minutes from
whatever committee decided to do this, but I've asked and it is not
available.
ansible > 2.9,< 4.0 not worth the cycles to a lot has been revised.
ansible >= 4 is now purely a collection of ansible galaxy modules.
A modest few of them were formerly in the basic ansible github repo.
https://github.com/ansible-community/antsibull now contains
the tools for building ansible tarballs for pip install
https://github.com/ansible-collections/ now contains the
source for most of these ansible galaxy modules
ansible >= 4 does not contain the ansible software. It requires
"ansible-core", which does.
The claim published with ansible releases that it "includes"
the functional ansible tools is misleading, the correct preposition is
"requires". The working software is actually in the "ansible-core"
python module.
ansible == 4 is huge, more than 400 MBytes of installed modules,
including more than 100 distinct ansible galaxy modules, very few of
which are commonly used and most of which are useful for most ansible
servers.
ansible >= 4 modules all listed among python modules as
"aws_collections" , generally referenced by ansible using the ansible
galaxy tools rather than as standard python modules.
ansible >= 4 modules are available individually with the "ansible
galaxy" galaxy commands, installed individually and updated or
reverted individually.
The "ansible galaxy" command does not install individual
modules in the same location, it publishes them in /usr/share rather
than /usr/lib/python/
This is very confusing. Even Red Hat has not been able to keep their
documentation consistent about this, and they bought ansible.com back
in 2015. And the release announcements claiming that ansible-core is
"included" make it more confusing.
As a user of ansible, someone who's set up several Ansible Tower and
AWX servers myself, I'm game to support update paths. My RPM building
tools for RHEL systems are available over at:
https://github.com/nkadel/ansiblerepo/
Nico Kadel-Garcia
Email: nkadel@gmail.com