Unable to install LEAPP on RHEL7 due to pulpcore using newer packets

Is it normal that it says “Repo-available-pkgs: 0” ?

Repo-id            : pulpcore
Repo-name          : pulpcore: Fetch, Upload, Organize, and Distribute Software Packages.
Repo-revision      : 1660233006
Repo-updated       : Thu Aug 11 17:50:07 2022
Repo-pkgs          : 311
Repo-available-pkgs: 0
Repo-size          : 86 M
Repo-baseurl       : https://yum.theforeman.org/pulpcore/3.18/el8/x86_64/
Repo-expire        : 172800 second(s) (last: Thu Aug 11 18:12:35 2022)
Repo-filename      : /etc/yum.repos.d/katello.repo

yes, can you run a dnf module enable katello:el8 pulpcore:el8 and then re-run the installer?

I think I found the reason.

Warning: Package marked by Leapp to install not found in repositories metadata: rubygem-foreman_ansible_core python38-pulp-python rubygem-foreman-tasks-core python38-pulp-certguard boost-python3-devel python38-pulpcore python38-pulp-cli python38-pulp-container boost-python3 python38-pulp-ansible rubygem-foreman_remote_execution_core python38-pulp-rpm log4j12 python38-pulp-deb python38-pulp-file

However, pulpcore 3.18 only have these packages for python 3.9 (not 3.8).

Yeah, I think upgrading Katello 4.5 with pulpcore 3.18 needs a bit of changes.

But you should get a working setup by running dnf module enable katello:el8 pulpcore:el8 and then the installer again, as that should get the right packages and everything again

Hi @evgeni

dnf module enable katello:el8 pulpcore:el8

Did the trick, thanks!

I did run into a few more problems.

  1. nothing provides libdb_cxx-5.3.so()(64bit) needed by qpid-cpp-server-linearstore
    I Solved this one by adding the following repository:
    subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
  2. /usr/sbin/foreman-rake db:migrate
[6887, #<Thread:0x0000561df5082d70 run>, #<Gem::MissingSpecVersionError: Gem::MissingSpecVersionError>, ["/usr/share/rubygems/rubygems/dependency.rb:313:in `to_specs'", "/usr/share/rubygems/rubygems/specification.rb:2561:in `block in traverse'", "/usr/share/rubygems/rubygems/specification.rb:2559:in `each'", "/usr/share/rubygems/rubygems/specification.rb:2559:in `traverse'", "/usr/share/rubygems/rubygems/specification.rb:1039:in `block in find_in_unresolved_tree'", "/usr/share/rubygems/rubygems/specification.rb:1038:in `each'", "/usr/share/rubygems/rubygems/specification.rb:1038:in `find_in_unresolved_tree'", "/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:112:in `require'

I solved this one by running gem update --system

Let me know if I did something I shouldn’t have. It seems we have a working setup running on RHEL-8 now. Thanks alot for helping me out!

1 Like
  1. Yeah, you need CRB for that one. I am always forgetting the RHEL specialities.
  2. gem update --system seems odd… I’ll dig that a bit more. Do you happen to have more output from that db:migrate run?
1 Like

db_migrate.log (91.8 KB)

I’ve uploaded a log-file containing all concerning log-output.

Fascinating! (things you don’t want to hear when someone is trying to understand your production issues, right?)

What on earth tries to load rack ~> 1.5 in your setup?!

Do you have a /usr/share/foreman/Gemfile or a /usr/share/foreman/Gemfile.lock? (the Gemfile.in is fine, the others are not).

Can you post the output of find /usr/share/foreman/.gem/ruby /usr/local/share/gems?

Haha, right! :wink:

ls: cannot access '/usr/share/foreman/Gemfile': No such file or directory
ls: cannot access '/usr/share/foreman/Gemfile.lock': No such file or directory

Here is the output from the find command.
gems.log (1.6 MB)
This folder didn’t exists find: ‘/usr/share/foreman/.gem/ruby’: No such file or directory

Tbh, I’m not sure gem update --system was the solution to the issue, I also tried gem clean and then manually installing the gems.

gem pristine io-console --version 0.5.6
gem pristine openssl --version 2.1.2
gem pristine psych --version 3.1.0
gem pristine thin --version 1.7.0
gem pristine unf_ext --version 0.0.7.5
gem pristine bigdecimal --version 2.0.0
gem pristine eventmachine --version 1.2.7
gem pristine eventmachine --version 1.2.0.1

Not sure if the upgrade or the manual install did the trick.

Weird, do you happen to have a backup of before the EL8 upgrade? Because /usr/local/share/gems/ should be empty…

Like, you have dynflow-1.0.3 in there, while we ship 1.6.4 in Foreman these days.

I have a snapshot of the VM, but that would require me to rollback to before upgradring via LEAPP. Could be worth mentioning that this VM is really really old :smiley: it has been through many, many iterations of foreman/katello upgrades.

Do you think I should create a backup/restore on to a new VM instead perhaps?

Nah. What I would try is to create a new snapshot and then clean up eveything from /usr/local

On a fresh EL8 install, the only file in there that I have is /usr/local/bin/validate_postgresql_connection.sh (that’s something the puppet-postgresql module our our installer creates).