Uploaded image for project: 'RHEL Conversions'
  1. RHEL Conversions
  2. RHELC-1602 DNF transaction fails with rocky-logos conflict on Rocky Linux 9.4
  3. RHELC-1612

DNF transaction fails with rocky-logos conflict on Rocky Linux 9.4 - Integration tests

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Obsolete
    • Icon: Major Major
    • 2.2.0
    • None
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • 0
    • Testable
    • rhel-conversions

      The parent issue RHELC-1602 has the label that triggered autocreation of this subtask to track the relative story point estimation for the integration test part of the issue.

      The parent issue description at the time of creation of this issue was:
      Any attempt of running either convert or analysis on Rocky Linux 9.4 fails on transaction validation, where rocky-logos conflicts with file from redhat-logos.

      Validating the dnf transaction set, no modifications to the system will happen this time.
      [2024-06-13T13:10:15+0000] DEBUG - Got the following exception message: Transaction test error:
        file /usr/share/redhat-logos from install of redhat-logos-90.4-2.el9.x86_64 conflicts with file from package rocky-logos-90.15-2.el9.x86_64
      
      CRITICAL - Failed to validate the dnf transaction.
      ERROR - (ERROR) VALIDATE_PACKAGE_MANAGER_TRANSACTION::FAILED_TO_VALIDATE_TRANSACTION - Failed to validate dnf transaction.
       Description: During the dnf transaction execution an error occured and convert2rhel could no longer process the transaction.
       Diagnosis: Transaction processing failed with error: Transaction test error:
        file /usr/share/redhat-logos from install of redhat-logos-90.4-2.el9.x86_64 conflicts with file from package rocky-logos-90.15-2.el9.x86_64
      
       Remediations: N/A
      
      CRITICAL - The conversion process failed.
      

      Reproducer

      1. Get a Rocky 9.4 machine
      2. Run convert2rhel analyze --debug -u username -p password ...
      3. Observe the error

      Minimal reproducer out of convert2rhel

      1. Get a Rocky 9.4 machine
      2. run a dnf shell
        # dnf -v shell
        > ts
        > swap rocky-logos https://rhsm-pulp.corp.redhat.com/content/dist/rhel9/9.4/x86_64/appstream/os/Packages/r/redhat-logos-90.4-2.el9.x86_64.rpm
        redhat-logos-90.4-2.el9.x86_64.rpm                                                                                                                                                                          2.7 MB/s | 234 kB     00:00    
        > run
         
      3. Observe the error
        --> Starting dependency resolution
        --> Finding unneeded leftover dependencies
        ---> Package redhat-logos.x86_64 90.4-2.el9 will be installed
        ---> Package rocky-logos.x86_64 90.15-2.el9 will be erased
        --> Finished dependency resolution
        ================================================================================================================================================================================
         Package                                     Architecture                          Version                                    Repository                                   Size
        ================================================================================================================================================================================
        Installing:
         redhat-logos                                x86_64                                90.4-2.el9                                 @commandline                                234 k
        Removing:
         rocky-logos                                 x86_64                                90.15-2.el9                                @appstream                                  763 k
        
        Transaction Summary
        ================================================================================================================================================================================
        Install  1 Package
        Remove   1 Package
        
        Total size: 234 k
        Is this ok [y/N]: y
        Downloading Packages:
        Running transaction check
        Transaction check succeeded.
        Running transaction test
        Error: Transaction test error:
          file /usr/share/redhat-logos from install of redhat-logos-90.4-2.el9.x86_64 conflicts with file from package rocky-logos-90.15-2.el9.x86_64
        
        repo: using cache for: baseos
        baseos: using metadata from Thu 13 Jun 2024 03:57:28 AM UTC.
        repo: using cache for: appstream
        appstream: using metadata from Wed 12 Jun 2024 10:23:09 PM UTC.
        repo: using cache for: extras
        extras: using metadata from Fri 10 May 2024 02:45:43 PM UTC.
        Last metadata expiration check: 0:37:21 ago on Thu 13 Jun 2024 01:48:01 PM UTC.
        

      The culprit seems to be a file in /usr/share/redhat-logos directory.
      It looks like the package was poorly re-built and the directory with the files was left there including the ownership. Interestingly enough, the files in the dir are not owned by the rpm.

      ###
      # rpm -q --filesbypkg rocky-logos
      {output obfuscated}
      rocky-logos               /usr/share/redhat-logos
      rocky-logos               /usr/share/rocky-logos
      rocky-logos               /usr/share/rocky-logos/fedora_logo.svg
      rocky-logos               /usr/share/rocky-logos/fedora_logo_darkbackground.svg
      rocky-logos               /usr/share/rocky-logos/fedora_logo_lightbackground.svg
      
      ###
      # rpm -q --filesbypkg redhat-logos
      {output obfuscated}
      redhat-logos              /usr/share/redhat-logos
      redhat-logos              /usr/share/redhat-logos/fedora_logo.svg
      redhat-logos              /usr/share/redhat-logos/fedora_logo_darkbackground.svg
      

      Removing the /usr/share/redhat-logos directory prior to the transaction makes the swap possible.

      [root@ip-10-31-12-206 ~]# rm -rf /usr/share/redhat-logos
      [root@ip-10-31-12-206 ~]# dnf -vvv shell
      Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, notify-packagekit, playground, repoclosure, repodiff, repograph, repomanage, reposync, system-upgrade
      DNF version: 4.14.0
      cachedir: /var/cache/dnf
      User-Agent: constructed: 'libdnf (Rocky Linux 9.4; generic; Linux.x86_64)'
      repo: using cache for: baseos
      baseos: using metadata from Thu 13 Jun 2024 03:57:28 AM UTC.
      repo: using cache for: appstream
      appstream: using metadata from Wed 12 Jun 2024 10:23:09 PM UTC.
      repo: using cache for: extras
      extras: using metadata from Fri 10 May 2024 02:45:43 PM UTC.
      Last metadata expiration check: 0:39:20 ago on Thu 13 Jun 2024 01:48:01 PM UTC.
      > ts
      --> Starting dependency resolution
      --> Finished dependency resolution
      > swap rocky-logos https://rhsm-pulp.corp.redhat.com/content/dist/rhel9/9.4/x86_64/appstream/os/Packages/r/redhat-logos-90.4-2.el9.x86_64.rpm
      redhat-logos-90.4-2.el9.x86_64.rpm                                                                                                              1.6 MB/s | 234 kB     00:00    
      > run
      --> Starting dependency resolution
      --> Finding unneeded leftover dependencies
      ---> Package redhat-logos.x86_64 90.4-2.el9 will be installed
      ---> Package rocky-logos.x86_64 90.15-2.el9 will be erased
      --> Finished dependency resolution
      ================================================================================================================================================================================
       Package                                     Architecture                          Version                                    Repository                                   Size
      ================================================================================================================================================================================
      Installing:
       redhat-logos                                x86_64                                90.4-2.el9                                 @commandline                                234 k
      Removing:
       rocky-logos                                 x86_64                                90.15-2.el9                                @appstream                                  763 k
      
      Transaction Summary
      ================================================================================================================================================================================
      Install  1 Package
      Remove   1 Package
      
      Total size: 234 k
      Is this ok [y/N]: y
      Downloading Packages:
      Running transaction check
      Transaction check succeeded.
      Running transaction test
      Transaction test succeeded.
      Running transaction
        Preparing        :                                                                                                                                                        1/1 
        Installing       : redhat-logos-90.4-2.el9.x86_64                                                                                                                         1/2 
        Running scriptlet: redhat-logos-90.4-2.el9.x86_64                                                                                                                         1/2 
        Erasing          : rocky-logos-90.15-2.el9.x86_64                                                                                                                         2/2 
      warning: file /usr/share/rocky-logos/fedora_logo_lightbackground.svg: remove failed: No such file or directory
      warning: file /usr/share/rocky-logos/fedora_logo_darkbackground.svg: remove failed: No such file or directory
      warning: file /usr/share/rocky-logos/fedora_logo.svg: remove failed: No such file or directory
      
        Running scriptlet: rocky-logos-90.15-2.el9.x86_64                                                                                                                         2/2 
        Running scriptlet: redhat-logos-90.4-2.el9.x86_64                                                                                                                         2/2 
        Running scriptlet: rocky-logos-90.15-2.el9.x86_64                                                                                                                         2/2 
        Verifying        : redhat-logos-90.4-2.el9.x86_64                                                                                                                         1/2 
        Verifying        : rocky-logos-90.15-2.el9.x86_64                                                                                                                         2/2 
      Completion plugin: Generating completion cache...
      Installed: redhat-logos-90.4-2.el9.x86_64
      Removed: rocky-logos-90.15-2.el9.x86_64
      
      Installed:
        redhat-logos-90.4-2.el9.x86_64                                                                                                                                                
      Removed:
        rocky-logos-90.15-2.el9.x86_64                                                                                                                                                
      
      Complete!
      

      Note that this conflict works also the other way around. Again, removing the directory helps to resolve the conflict. Just to keep in mind for possible rollback implementation.

      # dnf shell
      Last metadata expiration check: 0:51:22 ago on Thu 13 Jun 2024 01:48:01 PM UTC.
      > ts
      > swap redhat-logos rocky-logos
      > run
      ============================================================================================================================================================================================================================================================================================================================
       Package                                                                       Architecture                                                            Version                                                                         Repository                                                                      Size
      ============================================================================================================================================================================================================================================================================================================================
      Installing:
       rocky-logos                                                                   x86_64                                                                  90.15-2.el9                                                                     appstream                                                                      715 k
      Removing:
       redhat-logos                                                                  x86_64                                                                  90.4-2.el9                                                                      @@commandline                                                                  254 k
      
      Transaction Summary
      ============================================================================================================================================================================================================================================================================================================================
      Install  1 Package
      Remove   1 Package
      
      Total download size: 715 k
      Is this ok [y/N]: y
      Downloading Packages:
      rocky-logos-90.15-2.el9.x86_64.rpm                                                                                                                                                                                                                                                          6.8 MB/s | 715 kB     00:00    
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Total                                                                                                                                                                                                                                                                                       3.6 MB/s | 715 kB     00:00     
      Running transaction check
      Transaction check succeeded.
      Running transaction test
      Error: Transaction test error:
        file /usr/share/redhat-logos from install of rocky-logos-90.15-2.el9.x86_64 conflicts with file from package redhat-logos-90.4-2.el9.x86_64
      

              ddiblik@redhat.com Daniel Diblik
              rhel-process-autobot RHEL Jira bot
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: