Leapp upgrade / dependency issue


Leapp preupgrade fails with dependency for foreman-3.3.1

Upgrading to EL8 (rocky) from CentOS 7.9 fails:

023-07-26 12:48:59.395250 [ERROR] Actor: dnf_transaction_check
Message: DNF execution failed with non zero exit code.
Last metadata expiration check: 0:00:42 ago on Wed Jul 26 12:48:11 2023.
Package rubygem-foreman_maintain-1:1.1.10-1.el7.noarch is already installed.
Package python2-six-1.9.0-0.el7.noarch is already installed.
Package tfm-rubygem-smart_proxy_remote_execution_ssh-0.7.2-1.fm3_3.el7.noarch is already installed.
Package foreman-installer-1:3.3.1-2.el7.noarch is already installed.

No matches found for the following disable plugin patterns: subscription-manager
Repository extras is listed more than once in the configuration
Warning: Package marked by Leapp to install not found in repositories metadata: rubygem-foreman-tasks-core python3-javapackages ivy-local rubygem-foreman_remote_execution_core
Warning: Package marked by Leapp to upgrade not found in repositories metadata: gpg-pubkey
Transaction check: 

 Problem: package foreman-3.3.1-1.el8.noarch requires rubygem(facter), but none of the providers can be installed
  - package rubygem-foreman_remote_execution-7.2.2-1.fm3_3.el8.noarch requires foreman >= 3.3.1, but none of the providers can be installed
  - package rubygem-facter-4.0.51-2.el8.x86_64 requires rubygem(thor) < 2.0, but none of the providers can be installed
  - cannot install the best candidate for the job
  - foreman-3.3.1-1.el7.noarch does not belong to a distupgrade repository
  - conflicting requests

Expected outcome:

Foreman and Proxy versions:

  • 3.3.1

Foreman and Proxy plugin versions:

Distribution and version:

  • CentOS Linux release 7.9.2009 (Core)
  • puppet 6

Other relevant data:

  • I am following [this in-place upgrade guide] (Upgrading and Updating Foreman). Only modification I made is to install leapp-data-rocky
  • The instance is quite old, first foreman version installed was ~1.9. I have (hopefully) removed all the offending rpms.
  • I had to remove puppet6-release-el-7.noarch, since it will not upgrade (conflicts with itself); however I manually created a repo
  • Checked Foreman release 3.3 el8 repos, there I can see all the missing RPMs
  • I modified the leapp-repos to only include http-gpg-keys to test (see below)

Had to append .log to all uploads:

rpms.txt.log (33.9 KB)
leapp-report.txt.log (18.0 KB)
leapp_upgrade_repositories.repo.log (2.9 KB)

can you try yum remove rubygem-thor rubygem-railties and see if the upgrade then is able to proceed?

Thanks @evgeni - I feel quite embarrassed - I was pretty sure I removed all old rubygems…

Debug output written to /var/log/leapp/leapp-preupgrade.log


A report has been generated at /var/log/leapp/leapp-report.json
A report has been generated at /var/log/leapp/leapp-report.txt

                       END OF REPORT                        

Answerfile has been generated at /var/log/leapp/answerfile

No need to be embarrassed, just happy that you can continue :slight_smile:

1 Like

[quote=“helge000, post:1, topic:34395”]
Upgrading and Updating Foreman

Strangely enough, it did upgrade puppet to v7.

This was also my bad, had EL7 and Puppet 7 mixed up in leapp_upgrade_repositories.repo