Problem:
I have a contentview containing all relevant RedHat8 repos (baseos, appstream, suppl., codeready, epel, …). This content view directly consumes the upstream repositories.
There are no content filters applied.
With the release of RHEL 8.5, the repositories received all sorts of updates which were published with the latest version of this contentview.
However, during update tests I saw some weired package dependency errors (see below). I had a look at the python3-pip
problem and noticed:
- Katello knows about
python3-pip-9.0.3-20.el8.noarch
- I can see the package in the GUI and Katello also says, the package is part of the desired repository (Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8) and contentview - the client does not see this package version (only 9.0.3-19.el8) using yum/dnf
- the package is not part of the repository / content view created by pulpcore-rpm (not as a package file and not as part of the repodata)
- the package is part of the upstream RedHat repository and metadata
I’ve already tried to do all available repo syncs (optimized, complete, validate), verify content and republish metadata - without success.
We do use this contentview approach since RHEL 7 days and it worked fine before. Also, the releases of RHEL 8.0 up to 8.4 worked fine.
Expected outcome:
The package is contained in the synced repository and presented to clients
Foreman and Proxy versions:
Foreman 2.3.5
Foreman and Proxy plugin versions:
Katello 3.18.5
Pulpcore 3.7.8
Pulp RPM 3.11.2
Distribution and version:
Server: RHEL 7.9
Client: RHEL 8.5
Other relevant data:
Dependency errors:
root@tst-example-01.lxdev:~/yum_problem# dnf update
Updating Subscription Management repositories.
EPEL 8 x86_64 Modular 52 kB/s | 2.3 kB 00:00
EPEL 8 x86_64 Everything 54 kB/s | 2.8 kB 00:00
Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (RPMs) 54 kB/s | 2.9 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 48 kB/s | 2.9 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 53 kB/s | 2.6 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - Supplementary (RPMs) 42 kB/s | 2.3 kB 00:00
Error:
Problem 1: package net-snmp-utils-1:5.8-20.el8.x86_64 requires net-snmp-libs(x86-64) = 1:5.8-20.el8, but none of the providers can be installed
- cannot install both net-snmp-libs-1:5.8-22.el8.x86_64 and net-snmp-libs-1:5.8-20.el8.x86_64
- cannot install the best update candidate for package net-snmp-utils-1:5.8-20.el8.x86_64
- cannot install the best update candidate for package net-snmp-libs-1:5.8-20.el8.x86_64
Problem 2: package python3-pip-9.0.3-19.el8.noarch requires platform-python-pip = 9.0.3-19.el8, but none of the providers can be installed
- cannot install both platform-python-pip-9.0.3-20.el8.noarch and platform-python-pip-9.0.3-19.el8.noarch
- cannot install both platform-python-pip-9.0.3-19.el8.noarch and platform-python-pip-9.0.3-20.el8.noarch
- cannot install the best update candidate for package python3-pip-9.0.3-19.el8.noarch
- cannot install the best update candidate for package platform-python-pip-9.0.3-19.el8.noarch
Problem 3: libgomp-8.4.1-1.el8.i686 has inferior architecture
- package gcc-8.4.1-1.el8.x86_64 requires libgomp = 8.4.1-1.el8, but none of the providers can be installed
- cannot install both libgomp-8.5.0-4.el8_5.x86_64 and libgomp-8.4.1-1.el8.x86_64
- cannot install both libgomp-8.4.1-1.el8.x86_64 and libgomp-8.5.0-4.el8_5.x86_64
- cannot install the best update candidate for package libgomp-8.4.1-1.el8.x86_64
- cannot install the best update candidate for package gcc-8.4.1-1.el8.x86_64
Problem 4: lua-libs-5.3.4-11.el8.i686 has inferior architecture
- package lua-5.3.4-11.el8.x86_64 requires lua-libs = 5.3.4-11.el8, but none of the providers can be installed
- cannot install both lua-libs-5.3.4-12.el8.x86_64 and lua-libs-5.3.4-11.el8.x86_64
- cannot install both lua-libs-5.3.4-11.el8.x86_64 and lua-libs-5.3.4-12.el8.x86_64
- cannot install the best update candidate for package lua-libs-5.3.4-11.el8.x86_64
- cannot install the best update candidate for package lua-5.3.4-11.el8.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)