RHEL8.5 repos have missing packages

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)

I solved the problem myself.
Seems like either the initial sync or metadata generation caused some half-baked repodata files.

The following steps resolved the problem:

  • Validate Content Sync for the broken repo
  • Verify Content Checksum on the broken repository (just to be sure)
  • Republish repository Metadata on the broken repository (just to be sure)
  • Republish repository Metadata on the broken Content View versions

During troubleshooting, I also applied the following two patches as I saw some errors related to them. Maybe these patches fixed the root cause which caused the broken repo in the first place (not sure about that):

Now, the repository contains all previously missing packages and all clients can update successfully.

1 Like