Red Hat Satellite 6.3 upgrade fails with error: "No such file or directory - /opt/theforeman/tfm/root/usr/lib64/gems/ruby/qpid_messaging-1.36.0/cqpid.so"

Solution Verified - Updated -

Environment

  • Red Hat Satellite 6.2 (latest version) to 6.3.5 Upgrade

Issue

  • While attempting upgrade from Satellite 6.2 (latest version) to 6.3, upgrade is failing with below error:
LoadError: libruby.so.2.2: cannot open shared object file: No such file or directory - /opt/theforeman/tfm/root/usr/lib64/gems/ruby/qpid_messaging-1.36.0/cqpid.so

Resolution

  • This is a known issue and escalated to the engineering team via Bugzilla.
  • Use following workaround for the time being:
  • Remove tfm-rubygem-qpid_messaging-1.36.0-6.el7sat.x86_64 from Satellite server which is installed from rhel-7-server-satellite-6.2-rpms repository.
 # rpm -e --nodeps tfm-rubygem-qpid_messaging-1.36.0-6.el7sat.x86_64 --justdb
  • Verify rhel-7-server-satellite-6.3-rpms repository is enabled on Red Hat Satellite 6.3 server.
 # yum repolist enabled
  • Install tfm-rubygem-qpid_messaging-1.36.0-1.el7sat.x86_64 from rhel-7-server-satellite-6.3-rpms repository.
 # yum install tfm-rubygem-qpid_messaging-1.36.0-1.el7sat.x86_64
  • Now run Satellite Upgrade Script with the help of Foreman-Maintain Tool
 # foreman-maintain upgrade run --target-version 6.3

Root Cause

  • "tfm-rubygem-qpid_messaging-1.36.0-6.el7sat.x86_64" is got updated to the latest version while updating Satellite server to the latest version of 6.2.x.

  • Satellite 6.3 required "tfm-rubygem-qpid_messaging-1.36.0-1.el7sat.x86_64", which is lower version than installed version.

  • Since "tfm-rubygem-qpid_messaging" is installed with higher version so yum is not installing "tfm-rubygem-qpid_messaging-1.36.0-1.el7sat.x86_64" from 'rhel-7-server-satellite-6.3-rpms' repository while upgrading Satellite to 6.3.

  • Affected file /opt/theforeman/tfm/root/usr/lib64/gems/ruby/qpid_messaging-1.36.0/cqpid.so file is coming from tfm-rubygem-qpid_messaging package.

Diagnostic Steps

  • Check /var/log/foreman-installer/satellite.log for following error messages:
/usr/share/foreman/config/application.rb:16:in `<top (required)>'
/usr/share/foreman/Rakefile:1:in `<top (required)>'
LoadError: libruby.so.2.2: cannot open shared object file: No such file or directory - /opt/theforeman/tfm/root/usr/lib64/gems/ruby/qpid_messaging-1.36.0/cqpid.so
/opt/rh/rh-ror42/root/usr/share/gems/gems/polyglot-0.3.4/lib/polyglot.rb:65:in `require'
/opt/rh/rh-ror42/root/usr/share/gems/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
/opt/rh/rh-ror42/root/usr/share/gems/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
  • Verify tfm-rubygem-qpid_messaging version.
# rpm -qa | grep tfm-rubygem-qpid_messaging

# yum list installed tfm-rubygem-qpid_messaging

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments