Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-41376

subscription-manager is needed to make dnf useful

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Normal Normal
    • None
    • 4.18.0
    • RHCOS
    • No
    • False
    • Hide

      None

      Show
      None
    • Hide
      * Previously, using DNF to install additional packages on your customized {op-system-first} builds caused builds to fail because packages could not be located. With this release, the Subscription Manager adds the correct packages to {op-system} so that this issue no longer occurs. (link:https://issues.redhat.com/browse/OCPBUGS-41376[*OCPBUGS-41376*])
      Show
      * Previously, using DNF to install additional packages on your customized {op-system-first} builds caused builds to fail because packages could not be located. With this release, the Subscription Manager adds the correct packages to {op-system} so that this issue no longer occurs. (link: https://issues.redhat.com/browse/OCPBUGS-41376 [* OCPBUGS-41376 *])
    • Bug Fix
    • Done

      This is a clone of issue OCPBUGS-35247. The following is the description of the original issue:

      Description of problem:

      DNF is now included in the 4.16 rhel-coreos images, but without the subscription-manager package (and its dependencies) it is not useful. DNF itself relies on subscription-manager and its DNF plugin to set up access to entitled RH content.

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

      4.16.0-rc.4

      How reproducible:

      100%

      Steps to Reproduce:

      1. Run rhel-coreos container image
      
      # podman run --rm -ti $(./oc adm release info 4.16.0-rc.4 --image-for=rhel-coreos)
      
      
      2. Attempt to install a RHEL package with dnf inside the container
      
      # dnf install rsyslog
      

       

      Actual results:

      bash-5.1# dnf install rsyslog
      Error: There are no enabled repositories in "/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d".
      

       

      Expected results:

      bash-5.1# dnf install rsyslog
      Updating Subscription Management repositories.
      Unable to read consumer identity
      subscription-manager is operating in container mode.
      Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)                                                                             24 MB/s |  23 MB     00:00    
      Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)                                                                          33 MB/s |  36 MB     00:01    
      Last metadata expiration check: 0:00:05 ago on Mon Jun 10 18:35:20 2024.
      Dependencies resolved.
      =================================================================================================================================================================
       Package                               Architecture               Version                             Repository                                            Size
      =================================================================================================================================================================
      Installing:
       rsyslog                               x86_64                     8.2310.0-4.el9                      rhel-9-for-x86_64-appstream-rpms                     809 k
      Installing dependencies:
       libestr                               x86_64                     0.1.11-4.el9                        rhel-9-for-x86_64-appstream-rpms                      29 k
       libfastjson                           x86_64                     0.99.9-5.el9                        rhel-9-for-x86_64-appstream-rpms                      41 k
      Installing weak dependencies:
       rsyslog-logrotate                     x86_64                     8.2310.0-4.el9                      rhel-9-for-x86_64-appstream-rpms                      12 kTransaction Summary
      =================================================================================================================================================================
      Install  4 PackagesTotal download size: 891 k
      Installed size: 2.7 M
      [...]

       

      Additional info:

      My understanding is that dnf relies on the subscription-manager DNF plugin to understand and configure RH repo access. Rpm-ostree can do this itself through its use of librhsm.

      Here is a run through showing dnf needs subscription-manager to configure access.

      # podman run --rm -ti $(../oc adm release info 4.16.0-rc.4 --image-for=rhel-coreos)
      
      bash-5.1# dnf install rsyslog -y
      Error: There are no enabled repositories in "/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d".
      
      bash-5.1# rpm-ostree install subscription-manager
      Enabled rpm-md repositories: rhel-9-for-x86_64-baseos-rpms rhel-9-for-x86_64-appstream-rpms
      Updating metadata for 'rhel-9-for-x86_64-baseos-rpms'... done
      Updating metadata for 'rhel-9-for-x86_64-appstream-rpms'... done
      Importing rpm-md... done
      rpm-md repo 'rhel-9-for-x86_64-baseos-rpms'; generated: 2024-06-10T07:52:53Z solvables: 7598
      rpm-md repo 'rhel-9-for-x86_64-appstream-rpms'; generated: 2024-06-10T13:41:17Z solvables: 21530
      Resolving dependencies... done
      Will download: 22 packages (3.8?MB)
      Downloading from 'rhel-9-for-x86_64-baseos-rpms'... done
      Installing 22 packages:
        gobject-introspection-1.68.0-11.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        libdnf-plugin-subscription-manager-1.29.40-1.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        python3-chardet-4.0.0-5.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-cloud-what-1.29.40-1.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        python3-dateutil-1:2.8.1-7.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-decorator-4.4.2-6.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-dnf-plugins-core-4.3.0-13.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-gobject-base-3.40.1-6.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        python3-gobject-base-noarch-3.40.1-6.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-idna-2.10-7.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-iniparse-0.4-45.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-inotify-0.9.6-25.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-librepo-1.14.5-2.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        python3-pysocks-1.7.1-12.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-requests-2.25.1-8.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-six-1.15.0-9.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        python3-subscription-manager-rhsm-1.29.40-1.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        python3-systemd-234-18.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        python3-urllib3-1.26.5-5.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
        subscription-manager-1.29.40-1.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        usermode-1.114-4.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
        virt-what-1.25-5.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms) Installing: python3-six-1.15.0-9.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-dateutil-1:2.8.1-7.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-iniparse-0.4-45.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-idna-2.10-7.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-librepo-1.14.5-2.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: libdnf-plugin-subscription-manager-1.29.40-1.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: virt-what-1.25-5.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: gobject-introspection-1.68.0-11.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-gobject-base-noarch-3.40.1-6.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-gobject-base-3.40.1-6.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-systemd-234-18.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-dnf-plugins-core-4.3.0-13.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: usermode-1.114-4.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-pysocks-1.7.1-12.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-urllib3-1.26.5-5.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-inotify-0.9.6-25.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-decorator-4.4.2-6.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-chardet-4.0.0-5.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-requests-2.25.1-8.el9.noarch (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-cloud-what-1.29.40-1.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: python3-subscription-manager-rhsm-1.29.40-1.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Installing: subscription-manager-1.29.40-1.el9.x86_64 (rhel-9-for-x86_64-baseos-rpms)
      Created symlink /etc/systemd/system/multi-user.target.wants/rhsmcertd.service → /usr/lib/systemd/system/rhsmcertd.service.
      
      bash-5.1# rm -v /etc/yum.repos.d/redhat.repo 
      removed '/etc/yum.repos.d/redhat.repo'
      
      bash-5.1# dnf repolist
      Updating Subscription Management repositories.
      Unable to read consumer identity
      subscription-manager is operating in container mode.
      repo id                                                              repo name
      rhel-9-for-x86_64-appstream-rpms                                     Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
      rhel-9-for-x86_64-baseos-rpms                                        Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
      
      bash-5.1# head /etc/yum.repos.d/redhat.repo 
      #
      # Certificate-Based Repositories
      # Managed by (rhsm) subscription-manager
      #
      # *** This file is auto-generated.  Changes made here will be over-written. ***
      # *** Use "subscription-manager repo-override --help" if you wish to make changes. ***
      #
      # If this file is empty and this system is subscribed consider
      # a "yum repolist" to refresh available repos
      #
      
      
      bash-5.1# dnf install rsyslog -y
      Updating Subscription Management repositories.
      Unable to read consumer identity
      subscription-manager is operating in container mode.
      Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)                                                                          39 MB/s |  36 MB     00:00    
      Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)                                                                             29 MB/s |  23 MB     00:00    
      Last metadata expiration check: 0:00:05 ago on Mon Jun 10 18:42:03 2024.
      Dependencies resolved.
      =================================================================================================================================================================
       Package                               Architecture               Version                             Repository                                            Size
      =================================================================================================================================================================
      Installing:
       rsyslog                               x86_64                     8.2310.0-4.el9                      rhel-9-for-x86_64-appstream-rpms                     809 k
      Installing dependencies:
       libestr                               x86_64                     0.1.11-4.el9                        rhel-9-for-x86_64-appstream-rpms                      29 k
       libfastjson                           x86_64                     0.99.9-5.el9                        rhel-9-for-x86_64-appstream-rpms                      41 k
      Installing weak dependencies:
       rsyslog-logrotate                     x86_64                     8.2310.0-4.el9                      rhel-9-for-x86_64-appstream-rpms                      12 kTransaction Summary
      =================================================================================================================================================================
      Install  4 Packages
      [...]
      Installed:
        libestr-0.1.11-4.el9.x86_64        libfastjson-0.99.9-5.el9.x86_64        rsyslog-8.2310.0-4.el9.x86_64        rsyslog-logrotate-8.2310.0-4.el9.x86_64       Complete!

       

              jlebon1@redhat.com Jonathan Lebon
              openshift-crt-jira-prow OpenShift Prow Bot
              Michael Nguyen Michael Nguyen
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: