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"
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 fromrhel-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
fromrhel-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 fromtfm-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