Hi Gregor,

can you still reproduce this bug? AFAICS this was fixed in the 2.13.3 upload.

Additionally, I'll tighten the package dependencies so this issue will be more apparent in the future.

Greetings,
Lee

On 29/04/2022 12:01, Gregor Riepl wrote:
Package: ansible
Version: 5.5.0-1
Severity: important
X-Debbugs-Cc: onit...@gmail.com

Dear Maintainer,

Ansible has a strict dependency on resolvelib >=0.5.3 && <0.6.0, which is
documented in the upstream requirements.txt:
https://github.com/ansible/ansible/blob/devel/requirements.txt

Debian bullseye/sid installs 0.8.1, which breaks some functionality in Ansible.

In particular, downloading collections with ansible-galaxy is no longer
possible:

$ ansible-galaxy install -r requirements.yml -vvv
...
Process install dependency map
ERROR! Unexpected Exception, this is probably a bug:
CollectionDependencyProvider.find_matches() got an unexpected keyword argument
'identifier'
the full traceback was:

Traceback (most recent call last):
   File "/usr/bin/ansible-galaxy", line 128, in <module>
     exit_code = cli.run()
   File "/usr/lib/python3/dist-packages/ansible/cli/galaxy.py", line 569, in run
     return context.CLIARGS['func']()
   File "/usr/lib/python3/dist-packages/ansible/cli/galaxy.py", line 86, in
method_wrapper
     return wrapped_method(*args, **kwargs)
   File "/usr/lib/python3/dist-packages/ansible/cli/galaxy.py", line 1203, in
execute_install
     self._execute_install_collection(
   File "/usr/lib/python3/dist-packages/ansible/cli/galaxy.py", line 1230, in
_execute_install_collection
     install_collections(
   File "/usr/lib/python3/dist-packages/ansible/galaxy/collection/__init__.py",
line 548, in install_collections
     dependency_map = _resolve_depenency_map(
   File "/usr/lib/python3/dist-packages/ansible/galaxy/collection/__init__.py",
line 1364, in _resolve_depenency_map
     return collection_dep_resolver.resolve(
   File "/usr/lib/python3/dist-packages/resolvelib/resolvers.py", line 481, in
resolve
     state = resolution.resolve(requirements, max_rounds=max_rounds)
   File "/usr/lib/python3/dist-packages/resolvelib/resolvers.py", line 348, in
resolve
     self._add_to_criteria(self.state.criteria, r, parent=None)
   File "/usr/lib/python3/dist-packages/resolvelib/resolvers.py", line 147, in
_add_to_criteria
     matches = self._p.find_matches(
TypeError: CollectionDependencyProvider.find_matches() got an unexpected
keyword argument 'identifier'


Related issue: https://bugs.gentoo.org/795933

I'm not aware of a proper patch for this issue.
Gentoo has fixed it by pinning the resolvelib dependency to the requested
version range.


-- System Information:
Debian Release: bookworm/sid
   APT prefers testing
   APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.16.0-6-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ansible depends on:
ii  ansible-core       2.12.4-1
ii  openssh-client     1:9.0p1-1
ii  python3            3.10.4-1
ii  python3-distutils  3.9.12-1
ii  python3-dnspython  2.2.0-2
ii  python3-httplib2   0.20.2-2
ii  python3-jinja2     3.0.3-1
ii  python3-netaddr    0.8.0-2
ii  python3-yaml       5.4.1-1+b1

Versions of packages ansible recommends:
ii  python3-argcomplete   1.12.3-0.1
ii  python3-cryptography  3.4.8-1
ii  python3-jmespath      1.0.0-1
ii  python3-kerberos      1.1.14-3.1+b4
ii  python3-libcloud      3.4.1-2
ii  python3-selinux       3.3-1+b2
ii  python3-winrm         0.3.0-2
ii  python3-xmltodict     0.12.0-2

Versions of packages ansible suggests:
pn  cowsay   <none>
ii  sshpass  1.09-1+b1

-- no debconf information


Reply via email to