Couple of days ago, Redhat released its latest and last major upgrade for Satellite 5.x. Its a rather important upgrade, you are advised to upgrade soon.
This upgrade contains some major improvements like stated in an earlier article
I’m not responsible for any damage caused by the procedure provided here. Always create a backup before even thinking about upgrading a Satellite server.
As always when you plan to upgrade your Satellite server to the latest version, you need to do some preparations first.
Ensure you will have enough disk space free in /var/opt/rh. The upgrade to 5.8 will also install a new PostgreSQL version located at /var/opt/rh/rh-postgresql95/lib/pgsql. The new version will roughly use the same diskspace as the old version 9.2 in /opt/rh/postgresql92/root/var/lib/pgsql.
Download the ISO
Visit https://access.redhat.com/downloads/content/250/ver=5.8/rhel—6/5.8/x86_64/product-software and make sure you select 5.8 and the architecture fitting you system (x86_64 or S390)
Get a new Satellite
Satellite 5.8 switches from Certificates to Manifests like Satellite 6. You need a Manifest to get it activated. You can create it by your own at the Subscription Management Application site, ensure you attach enough subscriptions to your Satellite server(s).
Usually an upgrade runs smooth, but just in case… it is recommended practice to have a recent backup ready. If your Satellite is running on a virtual machine, power off, snapshot and power on to have a consistent backup ready. For physical systems, db-control and the choice.
Backup the rest of your Satellite:
Create a copy of your rhn configuration directory as we need some information from the old files after the upgrade.
rhnsat:~# cp -rp /etc/rhn/ /etc/rhn-$(date +"%F")
Update your OS and Satellite 5.7
First step is to update the operating system and the Satellite 5.7 and apply the latest database schema updates as well.
rhnsat:~# yum -y update && reboot
Update the database schema if needed
To update the database schema, run the following command. Ideally it looks as follows:
rhnsat:~# spacewalk-schema-upgrade Schema upgrade: [satellite-schema-184.108.40.206-1.el6sat] -> [satellite-schema-220.127.116.11-1.el6sat] Your database schema already matches the schema package version [satellite-schema-18.104.22.168-1.el6sat]. rhnsat:~#
Switch from RHN to Subscription Manager
It is important to ensure you switched from RHN to subscription manager before doing the upgrade. You can check if this is the case with:
rhnsat:~# subscription-manager repos --list-enabled +----------------------------------------------------------+ Available Repositories in /etc/yum.repos.d/redhat.repo +----------------------------------------------------------+ Repo ID: rhel-6-server-rpms Repo Name: Red Hat Enterprise Linux 6 Server (RPMs) Repo URL: https://cdn.redhat.com/content/dist/rhel/server/6/$releasever/$basearch/os Enabled: 1 Repo ID: rhel-6-server-satellite-5.7-rpms Repo Name: Red Hat Satellite 5.7 (for RHEL 6 Server) (RPMs) Repo URL: https://cdn.redhat.com/content/dist/rhel/server/6/$releasever/$basearch/satellite/5.7/os Enabled: 1 rhnsat:~#
If this is not yet done, have a look at the knowledge base article located here: https://access.redhat.com/articles/2884191
Functionality Check with the old version 5.7
It is recommended to restart and check a software functionality before upgrading to be able to pinpoint problems if there are some.
rhnsat:~# rhn-satellite restart
Review the software channels in use and delete unused channels as this can free up quite some disk space and reduces the size of the database significantly.
rhnsat:~# spacewalk-remove-channel -c rhel-i386-rhev-agent-6-server Deleting package metadata (20): ________________________________________ Removing: ######################################## - complete rhnsat:~#
Delete old system snapshots which are not used anymore. The following example deletes all snapshots which are older than one month:
rhnsat:~# sw-system-snapshot --delete --all --start-date 200001010000 --end-date $(date -d "-1 months" "+%Y%m%d0000")
Check for old MD5 user passwords and certificates
Check if there are still some users with an md5 hashed password. The same applies to certificates.
rhnsat:~# spacewalk-report users-md5 rhnsat:~# spacewalk-report system-md5-certificates
If there are any, please have a look to https://access.redhat.com/documentation/en-us/red_hat_satellite/5.8/html/installation_guide/ch09s03
If not done yet, install or update the rhn-upgrade package which contains the instructions how to proceed.
rhnsat:~# yum -y install rhn-upgrade
The package contains not only SQL- and other useful scripts needed for the upgrade but also important documents to read. The are located in /etc/sysconfig/rhn/satellite-upgrade/doc.
For most users, the document satellite-upgrade-postgresql.txt applies.
Do not forget to read the updated product documentation as well:
Performing the upgrade
rhnsat:~# mount satellite-5.8-rhel-6-x86_64-dvd.iso /mnt -o loop rhnsat:~# cd /mnt rhnsat:/mnt# ./install.pl --upgrade * Starting Red Hat Satellite installer. * Performing pre-install checks. * Pre-install checks complete. Beginning installation. * RHSM Registration. ** Registration: System is already registered with RHSM. Not re-registering. * RHSM Subscriptions. ** Subscriptions: Subscription providing 'Red Hat Satellite' already attached. ** Subscriptions: Subscription providing 'Red Hat Enterprise Linux Server' already attached. ** Subscriptions: Disabling all RHSM repositories (rhel-6-server-rpms, rhel-6-server-satellite-5.7-rpms). ** Subscriptions: All repositories disabled. ** Subscriptions: Enabling RHEL repository. ** Subscriptions: RHEL repository enabled. * Upgrade flag passed. Stopping necessary services. * Purging conflicting packages. * Checking for uninstalled prerequisites. ** Checking if yum is available ... There are some packages from Red Hat Enterprise Linux that are not part of the @base group that Satellite will require to be installed on this system. The installer will try resolve the dependencies automatically. However, you may want to install these prerequisites manually. Do you want the installer to resolve dependencies [y/N]? y * Installing Satellite packages. Warning: more packages were installed by yum than expected: python-backports python-backports-ssl_match_hostname python-chardet python-requests python-urllib3 * Now running spacewalk-setup. * Setting up SELinux.. ** Database: Setting up database connection for PostgreSQL backend. *** Upgrading embedded database. ** Database: Populating database. ** Database: Skipping database population. * Configuring tomcat. * Setting up users and groups. ** GPG: Initializing GPG and importing key. * Performing initial configuration. * Activating Red Hat Satellite. ** Manifest not activated. ** Upgrade process requires the manifest to be activated after the schema is upgraded. * Configuring apache SSL virtual host. Should setup configure apache's default ssl server for you (saves original ssl.conf) [Y]? * Configuring jabberd. * Creating SSL certificates. ** Skipping SSL certificate generation. * Deploying configuration files. * Update configuration in database. * Setting up Cobbler.. Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality. Enable these services [Y]? This portion of the Red Hat Satellite upgrade process has successfully completed. Please refer to appropriate upgrade document in /etc/sysconfig/rhn/satellite-upgrade for any remaining steps in the process. rhnsat:/mnt#
Active and Updating the Satellite
Since the ISO image is always a bit outdated, you need to activate and update the Satellite after its installation.
Upgrading the Database schema
rhnsat:~# rhn-satellite stop rhnsat:~# /etc/init.d/rh-postgresql95-postgresql start rhnsat:~# spacewalk-schema-upgrade
rhnsat:~# rhn-satellite-activate --manifest=/root/manifest.zip --ignore-version-mismatch
Some more work to do
After the upgrade succeed there is some work work to do.
Initial Sync with CDN
Unfortunately cdn-sync does not inherit the history which channels have been synced previously with satellite-sync. You need to once sync each channel again. Only missing data will be downloaded.
rhnsat:~# for i in $(spacecmd -u admin -p secret -q softwarechannel_listbasechannels); do cdn-sync -c $i; done rhnsat:~# for i in $(spacecmd -u admin -p secret -q softwarechannel_listchildchannels); do cdn-sync -c $i; done
If you have custom channels, this will produce errors as the custom channels are not available in CDN. Just ignore them.
Rebuild the search index
rhnsat:~# service rhn-search cleanindex
Have fun 🙂