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.
