Right.

Combining all this information, I do see some sort of bootstrapping problem
- at least in our workflow.
Namely where to start with selecting what version of which package to use.

Currently we start with ansible==3.4.0. This is because of some issues with
mitogen but that's not really relevant here.
This is part of our requirements.txt which also contains the other packages
that we need. Currently the file looks like:

ansible==3.4.0
awscli
boto
boto3
cryptojwt
dnspython
gitpython
natsort
netaddr
packaging
pip-tools
pylint
pysaml2
python-ldap
ruamel.yaml
sshpubkeys
wheel
yamllint
yq

After pip installing this, the list of collections is exactly the list of
https://github.com/ansible-community/ansible-build-data/blob/main/3/ansible-3.4.0.deps
.
Which is expected.
But the venv also contains ansible-base 2.10.17,  while
https://github.com/ansible-community/ansible-build-data/blob/main/3/ansible-3.4.0.deps
lists 2.10.9. This must be because ansible-3.4.0's setup.py contains:

    install_requires=[
        'ansible-base>=2.10.9,<2.11',
    ],

OK. I understand that.
Suppose I decide to forget about which ansible version to use, and instead
use ansible-base.
What version should I pick? And more importantly, what versions of
collections go with that?
I don't see a way to find out which collections go with a specific version
of ansible-base/core.
The repo at https://github.com/ansible-community/ansible-build-data is
built with the ansible version as the starting point, so I can't really use
that.

It looks like I still have to use the ansible version as a starting point:

1. Pick ansible x.y.z
2. Look up which ansible-base/core version that needs from
setup.py/install_requires, and install that. Looking at that I think I can
take a short cut there and just do:

ansible 3 => ansible-base==2.10.*
ansible 4 => ansible-core==2.11.*
ansible 5 => ansible-core==2.12.*

3. Based on the ansible version I picked, look up which collections go with
that at https://github.com/ansible-community/ansible-build-data, and
install those.


So starting with *just* an ansible-base/core version (and no ansible
version), there is no way to look up which collection versions go with that.
I know that individual collections have specific requirements, so blindly
installing the latest collections on, say ansible-base 2.10.17, will result
in breakage.

Is there maybe a repo similar to
https://github.com/ansible-community/ansible-build-data, which is keyed off
ansible-base/core versions, and that lists the collection versions with
their own reported requirements?
(From
https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#installing-an-older-version-of-a-collection
I see that collections also have a version specifier such as ==, >=, etc)

thx


-- 
Dick Visser
Trust & Identity Service Operations Manager
GÉANT

-- 
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/CAL8fbwON_CsAZG-NvJn%3Dk9U%2B7x-z04gY%2BdybaDYuhskucCPwYw%40mail.gmail.com.

Reply via email to