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_64from Satellite server which is installed fromrhel-7-server-satellite-6.2-rpmsrepository.
# rpm -e --nodeps tfm-rubygem-qpid_messaging-1.36.0-6.el7sat.x86_64 --justdb
- Verify
rhel-7-server-satellite-6.3-rpmsrepository is enabled on Red Hat Satellite 6.3 server.
# yum repolist enabled
- Install
tfm-rubygem-qpid_messaging-1.36.0-1.el7sat.x86_64fromrhel-7-server-satellite-6.3-rpmsrepository.
# 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.sofile is coming fromtfm-rubygem-qpid_messagingpackage.
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_messagingversion.
# 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