Bug 2105107 - Minor data issue for users on RHEL7 syncing EL8+ EPEL or Fedora Modular repositories
Summary: Minor data issue for users on RHEL7 syncing EL8+ EPEL or Fedora Modular repos...
Status: POST
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Pulp
Version: Unspecified
Hardware: Unspecified
OS: Unspecified
high vote
Target Milestone: 6.12.0
Assignee: satellite6-bugs
QA Contact: Lai
Depends On:
TreeView+ depends on / blocked
Reported: 2022-07-07 22:21 UTC by Daniel Alley
Modified: 2022-09-28 23:52 UTC (History)
4 users (show)

Fixed In Version: pulp-rpm-3.18.3-1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed:
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Github pulp pulp_rpm issues 2643 0 None open Data repair for users with older versions of libmodulemd who synced Fedora or EPEL repos 2022-09-09 13:29:09 UTC
Red Hat Issue Tracker SAT-13100 0 None None None 2022-09-23 15:57:25 UTC

Description Daniel Alley 2022-07-07 22:21:31 UTC
Description of problem:

Fedora and EPEL have begun shipping module metadata with static_context: True. Unfortunately when older versions of libmodulemd (pre-2.12.0) encounter this metadata they silently ignore the modules.

As a result of a mixup, Satellite 6.10 and 6.11 have been shipping libmodulemd 2.9.3 on EL7, so some customers may experience this issue.

The result is that if Pulp was used to sync these repositories on systems without the newer version available then the modules were not processed by the sync machinery, causing modular RPMs to be saved as non-modular. 

The user-facing impact is that users who sync these repositories may experience problems when trying to use them via DNF.  Modules such as Zabbix or Perl may be missing.

On EL8 this may not be an issue as the system ships newer versions of libmodulemd.

After the libmodulemd package is updated by a separate BZ this will not occur in the future, but data already synced must be fixed.

Version-Release number of selected component (if applicable): 6.10, 6.11

How reproducible: 100%

Steps to Reproduce:

Install Satellite 6.10 or 6.11 on EL7, make sure that you have a pre-2.12 version of the libmodulemd2 package installed (on EL8 this is called just libmodulemd).

Sync and publish the repo. Look in the modules.yaml metadata for the "zabbix" module, which should not be present, although it is in the original metadata.

Also look at the zabbix RPMs, which should be synced but have is_modular=False despite being modular packages.

Comment 1 Ian Ballou 2022-07-07 23:04:04 UTC
Related BZ for updating libmodulemd: https://bugzilla.redhat.com/show_bug.cgi?id=2070168

Comment 5 Daniel Alley 2022-09-27 00:41:58 UTC
The fix is implemented as a sync-time hook which checks whether the existing packages are marked correctly and re-saves them if they are not.  So gradually over time this should resolve itself as the repositories are re-synced.

Note You need to log in before you can comment on or make changes to this bug.