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.
Related BZ for updating libmodulemd: https://bugzilla.redhat.com/show_bug.cgi?id=2070168
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.