CentOS 8 modules information missing?

Problem: CentOS 8 after installation has a bunch of module streams enabled and set as default (marked at “dnf module list” with [d] and [e]). After we join a system to Katello, we usually disable all other repos. As soon as we do this (the system now only pulls yum/dnf content from Katello), there are no more defaults set for the module streams and none of them is set to enabled!

Expected outcome: same module streams set to default and enabled as in original CentOS repos

Foreman and Proxy versions: 2.4.0

Foreman and Proxy plugin versions:
Katello: 4.0.1.1

Other relevant data:

Example output (partial) of dnf module list when public CentOS repos are enabled:

Name                 Stream           Profiles Summary
389-ds               1.4                       389 Directory Server (base)
ant                  1.10 [d]         common [ Java build tool
                                  d]
container-tools      rhel8 [d]        common [ Most recent (rolling) versions of podman, buildah, skopeo, runc, conmon, runc, conmon, CRIU, Udica, etc as well as dependencies such as c
                                  d]       ontainer-selinux built and tested together, and updated as frequently as every 12 weeks.
container-tools      1.0              common [ Stable versions of podman 1.0, buildah 1.5, skopeo 0.1, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux
                                  d]       built and tested together, and supported for 24 months.
container-tools      2.0              common [ Stable versions of podman 1.6, buildah 1.11, skopeo 0.1, runc, conmon, etc as well as dependencies such as container-selinux built and te
                                  d]       sted together, and supported as documented on the Application Stream lifecycle page.
container-tools      3.0              common [ Stable versions of podman 3.0, buildah 1.19, skopeo 1.2, runc, conmon, etc as well as dependencies such as container-selinux built and te
                                  d]       sted together, and supported as documented on the Application Stream lifecycle page.
freeradius           3.0 [d]          server [ High-performance and highly configurable free RADIUS server
                                  d]
gimp                 2.8 [d]          common [ gimp module
                                  d], deve
                                  l
go-toolset           rhel8 [d]        common [ Go
                                  d]
httpd                2.4 [d]          common [ Apache HTTP Server
                                  d], deve

Same example when public CentOS repos are disabled:

Name                 Stream           Profiles Summary
389-ds               1.4                       389 Directory Server (base)
ant                  1.10             common   Java build tool
container-tools      rhel8            common   Most recent (rolling) versions of podman, buildah, skopeo, runc, conmon, runc, conmon, CRIU, Udica, etc as well as dependencies such as c
                                           ontainer-selinux built and tested together, and updated as frequently as every 12 weeks.
container-tools      1.0              common   Stable versions of podman 1.0, buildah 1.5, skopeo 0.1, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux
                                           built and tested together, and supported for 24 months.
container-tools      2.0              common   Stable versions of podman 1.6, buildah 1.11, skopeo 0.1, runc, conmon, etc as well as dependencies such as container-selinux built and te
                                           sted together, and supported as documented on the Application Stream lifecycle page.
container-tools      3.0              common   Stable versions of podman 3.0, buildah 1.19, skopeo 1.2, runc, conmon, etc as well as dependencies such as container-selinux built and te
                                           sted together, and supported as documented on the Application Stream lifecycle page.
freeradius           3.0              server   High-performance and highly configurable free RADIUS server
gimp                 2.8              common,  gimp module
                                  devel
go-toolset           rhel8            common   Go
httpd                2.4              common,  Apache HTTP Server
                                  devel, m
                                  inimal

So, what’s wrong here?

Thanks,
Christian

You seem to disable the repositories which contain those modules. Thus you have lost access to them…

All the CentOS 8 modules are mirrored in my Katello.

And yes, I’ve disabled the default (public) repositories as I need to have control about what packages I offer to my systems.

What I’m expecting is that the mirrored CentOS repos in Katello provide the same information to the clients as the public repos…

What repositories do you have enabled? Run

# dnf repolist -v

As mentioned, I’ve only enabled repositories that are mirrored on my local Katello:

# dnf repolist -v
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, tracer-upload, uploadprofile, versionlock
Updating Subscription Management repositories.
DNF version: 4.4.2
cachedir: /var/cache/dnf
EL8 lldpd x86_64                                                                                                                               40 kB/s | 2.0 kB     00:00
Microsoft EL8 Productive x86_64                                                                                                                44 kB/s | 2.0 kB     00:00
EPEL 8 Modular x86_64                                                                                                                          44 kB/s | 2.3 kB     00:00
MyCompany Local                                                                                                                                42 kB/s | 2.0 kB     00:00
CentOS 8 AppStream x86_64                                                                                                                      55 kB/s | 3.0 kB     00:00
CentOS 8 BaseOS x86_64                                                                                                                         54 kB/s | 2.7 kB     00:00
CentOS 8 HighAvailability x86_64                                                                                                               52 kB/s | 2.7 kB     00:00
CentOS 8 Extras x86_64                                                                                                                         37 kB/s | 2.0 kB     00:00
CentOS 8 PowerTools x86_64                                                                                                                     50 kB/s | 2.7 kB     00:00
Foreman Client 2.4 x86_64                                                                                                                      43 kB/s | 2.3 kB     00:00
EPEL 8 Everything x86_64                                                                                                                       53 kB/s | 2.8 kB     00:00
Microsoft RHEL 8 Productive x86_64                                                                                                             38 kB/s | 2.0 kB     00:00
Elastic 7                                                                                                                                      35 kB/s | 2.0 kB     00:00
Puppet v6 x86_64                                                                                                                               35 kB/s | 2.0 kB     00:00
Repo-id            : MyCompany_CentOS_8_AppStream_x86_64
Repo-name          : CentOS 8 AppStream x86_64
Repo-revision      : 1623930696
Repo-updated       : Thu 17 Jun 2021 01:51:35 PM CEST
Repo-pkgs          : 6,157
Repo-available-pkgs: 4,578
Repo-size          : 8.4 G
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/CentOS_8/AppStream_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_CentOS_8_BaseOS_x86_64
Repo-name          : CentOS 8 BaseOS x86_64
Repo-revision      : 1623930687
Repo-updated       : Thu 17 Jun 2021 01:51:27 PM CEST
Repo-pkgs          : 1,746
Repo-available-pkgs: 1,746
Repo-size          : 1.2 G
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/CentOS_8/BaseOS_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_CentOS_8_Extras_x86_64
Repo-name          : CentOS 8 Extras x86_64
Repo-revision      : 1623930680
Repo-updated       : Thu 17 Jun 2021 01:51:19 PM CEST
Repo-pkgs          : 34
Repo-available-pkgs: 34
Repo-size          : 385 k
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/CentOS_8/Extras_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_CentOS_8_HighAvailability_x86_64
Repo-name          : CentOS 8 HighAvailability x86_64
Repo-revision      : 1623930681
Repo-updated       : Thu 17 Jun 2021 01:51:20 PM CEST
Repo-pkgs          : 72
Repo-available-pkgs: 72
Repo-size          : 71 M
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/CentOS_8/HighAvailability_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_CentOS_8_PowerTools_x86_64
Repo-name          : CentOS 8 PowerTools x86_64
Repo-revision      : 1623930685
Repo-updated       : Thu 17 Jun 2021 01:51:25 PM CEST
Repo-pkgs          : 2,193
Repo-available-pkgs: 1,567
Repo-size          : 2.9 G
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/CentOS_8/PowerTools_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_EL8_-_lldpd_lldpd_x86_64
Repo-name          : EL8 lldpd x86_64
Repo-revision      : 1623661620
Repo-updated       : Mon 14 Jun 2021 11:06:57 AM CEST
Repo-pkgs          : 8
Repo-available-pkgs: 8
Repo-size          : 1.8 M
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/EL8_-_lldpd/lldpd_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_EPEL_8_Everything_x86_64
Repo-name          : EPEL 8 Everything x86_64
Repo-revision      : 1623884559
Repo-updated       : Thu 17 Jun 2021 01:02:37 AM CEST
Repo-pkgs          : 7,442
Repo-available-pkgs: 7,441
Repo-size          : 11 G
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/EPEL_8/Everything_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_EPEL_8_Modular_x86_64
Repo-name          : EPEL 8 Modular x86_64
Repo-revision      : 1623741850
Repo-updated       : Tue 15 Jun 2021 09:24:10 AM CEST
Repo-pkgs          : 182
Repo-available-pkgs: 0
Repo-size          : 536 M
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/EPEL_8/Modular_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_Elastic_6_Elastic_7_x86_64
Repo-name          : Elastic 7
Repo-revision      : 1623701021
Repo-updated       : Mon 14 Jun 2021 10:03:37 PM CEST
Repo-pkgs          : 850
Repo-available-pkgs: 794
Repo-size          : 62 G
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/Elastic_6/Elastic_7_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:31 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_Foreman_Client_EL8_Foreman_Client_2_4_x86_64
Repo-name          : Foreman Client 2.4 x86_64
Repo-revision      : 1619350036
Repo-updated       : Sun 25 Apr 2021 01:27:16 PM CEST
Repo-pkgs          : 17
Repo-available-pkgs: 17
Repo-size          : 2.2 M
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/Foreman_Client_EL8/Foreman_Client_2_4_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_MyCompany_EL8_MyCompany_Local
Repo-name          : MyCompany Local
Repo-revision      : 1623930014
Repo-updated       : Thu 17 Jun 2021 01:40:14 PM CEST
Repo-pkgs          : 10
Repo-available-pkgs: 9
Repo-size          : 6.6 M
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/MyCompany_EL8/MyCompany_Local
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_Microsoft_EL8_Productive_x86_64
Repo-name          : Microsoft EL8 Productive x86_64
Repo-revision      : 1623798036
Repo-updated       : Wed 16 Jun 2021 01:00:35 AM CEST
Repo-pkgs          : 305
Repo-available-pkgs: 305
Repo-size          : 8.9 G
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/Microsoft_EL8/Productive_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:30 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_Microsoft_EL8_RHEL_8_Productive_x86_64
Repo-name          : Microsoft RHEL 8 Productive x86_64
Repo-revision      : 1621119706
Repo-updated       : Sun 16 May 2021 01:01:46 AM CEST
Repo-pkgs          : 109
Repo-available-pkgs: 109
Repo-size          : 5.0 G
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/Microsoft_EL8/RHEL_8_Productive_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:31 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Repo-id            : MyCompany_Puppet_v6_EL8_Puppet_v6_x86_64
Repo-name          : Puppet v6 x86_64
Repo-revision      : 1623798190
Repo-updated       : Wed 16 Jun 2021 01:03:07 AM CEST
Repo-pkgs          : 247
Repo-available-pkgs: 247
Repo-size          : 9.8 G
Repo-baseurl       : https://katello.mycompany.lan/pulp/content/MyCompany/Production/Enterprise_Linux_8_Content/custom/Puppet_v6_EL8/Puppet_v6_x86_64
Repo-expire        : 1 second(s) (last: Fri 18 Jun 2021 06:54:31 AM CEST)
Repo-filename      : /etc/yum.repos.d/gt-enabled/redhat.repo

Checking my local Katello repodata (and comparing it with the public repodata) I found now that:

  • the local modules.yaml is not compressed (seems to be no issue)
  • the local modules.yaml does not contain any “modulemd-defaults” document sections!

My solution was to set the “Restrict to architecture” and “Restrict to OS version” for the repos that contain module streams. I had never bothered setting those and it finally bit me on OL/Centos/RHEL 8…