Hi Nico,

I really wish you would stop repeating this procedure on every Ansible
release. If you want things to actually change, start a proper
discussion in the appropriate place
(https://github.com/ansible-community/community-topics/).

> > Getting collection updates from Ansible 5 with ansible-core 2.11.x
> > -----------------------------------------------------------------
> >
> > Ansible 5 includes ansible-core 2.12.x which has raised the minimum
> > python requirement to python>=3.8 and users have expressed an
> > interest in getting collection updates as they ship in Ansible 5
> > while keeping ansible-core 2.11.x which still supports python>=2.7.
> > An ansible-galaxy requirements file based on the collections from
> > Ansible 5 has been made available for this use case:
> > https://github.com/ansible-community/ansible-build-data/blob/main/5/galaxy-requirements.yaml
> 
> I really wish you or the appropriate upstream maintainer could update
> the documentation to stop saying this. It's just not true.

You have to distinguish between the PyPi package called `ansible`, and
the product/distribution called Ansible.

The *product/distribution* Ansible consists of both `ansible` and the
`ansible-core` PyPi packages. The *docsite*
(https://docs.ansible.com/ansible/latest/) describes both. The
*changelog* describes both. The *porting guide* also describes both.
That is why our announcement is written as it is. We are talking about
the product/distribution.

The PyPi package `ansible` does indeed depend on `ansible-core` and
does not contain it. But that it is split up into two PyPi packages is
an **implementation detail** to Ansible users. If they install Ansible
by installing the PyPi package `ansible`, they shouldn't (and don't
want to) care how exactly the ansible/ansible-playbook/ansible-doc/...
binaries and the collections included in Ansible land on their disk.
They just want them there to use them, and they want to look at the
docsite to find an accurate description on how they work.

> Also, ansible 5 seems to run fine using ansible-core 2.11 releases,
> with these options for installation::

I don't think anybody claims it does not. But the resulting thing is
**not** Ansible of the correct version, but simply a set of collections
with the versions as in the PyPi ansible package combined with another
ansible-core version. It is **not** what is documented on the docsite,
and is **not** what is documented in the changelog and porting guide.

For example, it does contain the wrong content for the ansible.builtin
collection, and some features that are provided to collections through
shared functionality in ansible-core (doc fragments, module utils,
plugin base classes) will not be available since you use the wrong
version of ansible-core.

A very concrete example are new suboptions for the `keyed_groups` option
that many inventory plugins offer, for example the
community.general.linode inventory plugin:
https://docs.ansible.com/ansible/5/collections/community/general/linode_inventory.html#parameter-keyed_groups
You only have these new options as documented on the Ansible 5 docsite
when you also have ansible-core 2.12 installed. With ansible-core 2.11
you cannot use `default_value` and `trailing_separator`. So if you
combine the collections from the `ansible` PyPi version 5 package with
ansible-core 2.11, you do get something else than Ansible 5.

> It's similar to what my RPM .spec files do, though they're  more
> thorough about using RPM dependency management for ansible-core and
> ansible. They're also more thorough about replacing:

If you are replacing shebangs in the Ansible modules contained in the
ansible PyPi package: there is zero need to do that. These files are
loaded by ansible-core and the shebang is replaced with the correct
shebang for the system the module is executed on. It is simply a
placeholder.

Thanks,
Felix Fontein


-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/20220407074051.76b12ad8%40rovaniemi.

Reply via email to