Upgrading Red Hat Satellite server fails with error Procedures::Installer::Upgrade: Could not get default values
Environment
- Red Hat Satellite 6.7
Issue
-
Upgrading Red Hat Satellite server from 6.7 to 6.8 fails with below error:
Running Migration scripts to Satellite 6.8 ================================================================================ Setup repositories: \ Configuring repositories for 6.8 [OK] -------------------------------------------------------------------------------- Unlock packages: [OK] -------------------------------------------------------------------------------- Update package(s) : [OK] -------------------------------------------------------------------------------- Procedures::Installer::Upgrade: Could not get default values, check log file at /var/log/foreman-installer/satellite.log for more information [FAIL] Failed executing LANG=en_US.utf-8 satellite-installer --disable-system-checks, exit status 25 -------------------------------------------------------------------------------- Scenario [Migration scripts to Satellite 6.8] failed. The following steps ended up in failing state: [installer-upgrade]
Resolution
-
Execute below command on the Satellite server to remove the
symlink.# unlink /usr/local/bin/puppet -
Re-run the Satellite upgrade.
For more KB articles/solutions related to Red Hat Satellite 6.x Installation/Upgrade/Update Issues, please refer to the Red Hat Satellite Consolidated Troubleshooting Article for Red Hat Satellite 6.x Installation/Upgrade/Update Issues.
For more KB articles/solutions related to Red Hat Satellite 6.x Puppet Issues, please refer to the Red Hat Satellite Consolidated Troubleshooting Article for Red Hat Satellite 6.x Puppet Issues
Root Cause
- If symlink
/usr/local/bin/puppet -> /opt/puppetlabs/bin/puppetexists, the upgrade fails with the mentioned error. However, this is a known issue and it's being tracked under the Bugzilla This content is not included.#1896038.
Diagnostic Steps
-
The trace of the error message is captured in
/var/log/foreman-installer/satellite.log.RUBYLIB=/opt/theforeman/tfm/root/usr/share/gems/gems/kafo-4.1.0/lib/kafo/../..//modules: /usr/local/bin/puppet apply --config=/tmp/kafo_installation20201123-28473-z4ho9q/puppet.conf [ERROR 2020-11-23T12:34:40 main] Ignoring bcrypt-3.1.12 because its extensions are not built. Try: gem pristine bcrypt --version 3.1.12 Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2 Ignoring nio4r-2.5.2 because its extensions are not built. Try: gem pristine nio4r --version 2.5.2 Ignoring nokogiri-1.10.9 because its extensions are not built. Try: gem pristine nokogiri --version 1.10.9 Ignoring ovirt-engine-sdk-4.2.3 because its extensions are not built. Try: gem pristine ovirt-engine-sdk --version 4.2.3 Ignoring passenger-4.0.18 because its extensions are not built. Try: gem pristine passenger --version 4.0.18 Ignoring pg-1.1.4 because its extensions are not built. Try: gem pristine pg --version 1.1.4 Ignoring puma-4.3.3 because its extensions are not built. Try: gem pristine puma --version 4.3.3 Ignoring qpid_messaging-1.36.0 because its extensions are not built. Try: gem pristine qpid_messaging --version 1.36.0 Ignoring rkerberos-0.1.5 because its extensions are not built. Try: gem pristine rkerberos --version 0.1.5 Ignoring ruby-libvirt-0.7.0 because its extensions are not built. Try: gem pristine ruby-libvirt --version 0.7.0 Ignoring sqlite3-1.3.13 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.13 Ignoring unf_ext-0.0.7.2 because its extensions are not built. Try: gem pristine unf_ext --version 0.0.7.2 Ignoring unicode-0.4.4.4 because its extensions are not built. Try: gem pristine unicode --version 0.4.4.4 Ignoring websocket-driver-0.7.1 because its extensions are not built. Try: gem pristine websocket-driver --version 0.7.1 Ignoring bcrypt-3.1.12 because its extensions are not built. Try: gem pristine bcrypt --version 3.1.12 Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2 Ignoring nio4r-2.5.2 because its extensions are not built. Try: gem pristine nio4r --version 2.5.2 Ignoring nokogiri-1.10.9 because its extensions are not built. Try: gem pristine nokogiri --version 1.10.9 Ignoring ovirt-engine-sdk-4.2.3 because its extensions are not built. Try: gem pristine ovirt-engine-sdk --version 4.2.3 Ignoring passenger-4.0.18 because its extensions are not built. Try: gem pristine passenger --version 4.0.18 Ignoring pg-1.1.4 because its extensions are not built. Try: gem pristine pg --version 1.1.4 Ignoring puma-4.3.3 because its extensions are not built. Try: gem pristine puma --version 4.3.3 Ignoring qpid_messaging-1.36.0 because its extensions are not built. Try: gem pristine qpid_messaging --version 1.36.0 Ignoring rkerberos-0.1.5 because its extensions are not built. Try: gem pristine rkerberos --version 0.1.5 Ignoring ruby-libvirt-0.7.0 because its extensions are not built. Try: gem pristine ruby-libvirt --version 0.7.0 Ignoring sqlite3-1.3.13 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.13 Ignoring unf_ext-0.0.7.2 because its extensions are not built. Try: gem pristine unf_ext --version 0.0.7.2 Ignoring unicode-0.4.4.4 because its extensions are not built. Try: gem pristine unicode --version 0.4.4.4 Ignoring websocket-driver-0.7.1 because its extensions are not built. Try: gem pristine websocket-driver --version 0.7.1 cannot load such file -- semantic_puppet [ERROR 2020-11-23T12:34:40 main] Could not get default values, cannot continue -
The logs show that Satellite's Puppet is experiencing a mismatch between the executable and the modules being used. The most revealing part from the logs is
RUBYLIB=. It shows Satellite is using/usr/local/bin/puppetinstead of/usr/bin/puppetthat is provided by Red Hat .
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.