ceph / ceph-ansible

Ansible playbooks to deploy Ceph, the distributed filesystem.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot satisfy RHEL 8 dependencies for ansible-core.

BloodBlight opened this issue · comments

Bug Report

What happened:
pip3 requirements install fails.

What you expected to happen:
pip3 requirements to install.

How to reproduce it (minimal and precise):
Running:

pip3 install -r requirements.txt

Results in:

Could not find a version that satisfies the requirement ansible-core<2.13,>=2.12 (from -r requirements.txt (line 2)) (from versions: 0.0.1a1, 2.11.0b1, 2.11.0b2, 2.11.0b3, 2.11.0b4, 2.11.0rc1, 2.11.0rc2, 2.11.0, 2.11.1rc1, 2.11.1, 2.11.2rc1, 2.11.2, 2.11.3rc1, 2.11.3, 2.11.4rc1, 2.11.4, 2.11.5rc1, 2.11.5, 2.11.6rc1, 2.11.6, 2.11.7rc1, 2.11.7, 2.11.8rc1, 2.11.8, 2.11.9rc1, 2.11.9, 2.11.10rc1, 2.11.10, 2.11.11rc1, 2.11.11, 2.11.12rc1, 2.11.12)
No matching distribution found for ansible-core<2.13,>=2.12 (from -r requirements.txt (line 2))

Looks like the oldest version available in the ansible-2.8-for-rhel-8-x86_64-rpms repo is 2.14.2:

$ yum info ansible-core
Updating Subscription Management repositories.
Last metadata expiration check: 0:02:30 ago on Wed 12 Jul 2023 07:11:08 AM PDT.
Available Packages
Name         : ansible-core
Version      : 2.14.2
Release      : 4.el8_8
Architecture : x86_64
Size         : 3.4 M
Source       : ansible-core-2.14.2-4.el8_8.src.rpm
Repository   : rhel-8-for-x86_64-appstream-rpms
Summary      : SSH-based configuration management, deployment, and task execution system
URL          : http://ansible.com
License      : GPLv3+
Description  : Ansible is a radically simple model-driven configuration management,
             : multi-node deployment, and remote task execution system. Ansible works
             : over SSH and does not require any software or daemons to be installed
             : on remote nodes. Extension modules can be written in any language and
             : are transferred to managed machines automatically.

Probably just needs a version bump.

Share your group_vars files, inventory and full ceph-ansibe log

Environment:

  • OS (e.g. from /etc/os-release): Red Hat Enterprise Linux 8.8 (Ootpa)
  • Kernel (e.g. uname -a): Linux 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Thu May 18 10:27:05 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux
  • Docker version if applicable (e.g. docker version): n/a
  • Ansible version (e.g. ansible-playbook --version): n/a
  • ceph-ansible version (e.g. git head or tag or stable branch): origin/main
  • Ceph version (e.g. ceph -v): n/a

Based on my config (currently working on Rocky9.2 but tried that before with RHEL 8 or Rocky8) got the same issue as yours. It seems the ansible binary package from the RHEL app stream or epel is not compatible with the ceph-ansible.

My current config -> cat requirements.txt

ansible-core>=2.12,<2.13
netaddr
six

It gives:

pip3 list | grep ansible
ansible-base                              2.10.17
ansible-core                              2.12.10
ansible-test                              1.0.1

But you can try as well, as this works as well

ansible >=2.10, <2.13,!=2.9.10
netaddr
six

Prior to installing it via pip3, I just uninstall any ansible packages to clear it up.

dnf remove ansible ansible-core
pip3 uninstall ansible ansible-core
pip uninstall ansible ansible-core

Do lastly (double check if the binary package is still there ansible --version, if still executes then try to remove/unlink the binary file -> whereis ansible).
pip3 install -r requirements.txt

ceph-ansible version (e.g. git head or tag or stable branch): origin/main

the cutting edge of ceph-ansible@main is not intended to be run against RHEL OS anyway