Upgrade Red Hat Satellite 6.4 to 6.6

I have been quite busy lately, which is why no new posts have been added to this site in a while. I wanted to get something new on for those that are interested in Satellite so I thought an upgrade article would be helpful. Upgrades are many times filled with dread as you worry something will go wrong, and the system will break. While upgrading from Satellite 6.2 to 6.3 is more involved, going from 6.4 to 6.6 is fairly easy, however it is time consuming. On a production system you can expect to spend the majority of your day doing the upgrade.

The first thing to note, is you must go up one version at a time, you won’t be able to just upgrade from 6.4 to 6.6. It will be 6.4 > 6.5 > 6.6.

Upgrading your Satellite 6.4 to the latest minor release

# subscription-manager repos --enable \
rhel-7-server-satellite-maintenance-6-rpms
Enabling the required repositories for Red Hat Satellite
# yum install rubygem-foreman_maintain
Updating rubgen-foreman_maintain
# foreman-maintain upgrade list-versions
Verifying available versions for Satellite
# foreman-maintain upgrade check --target-version 6.4.z
performing the upgrade check for Satellite 6.4

You will want to resumed the paused tasks, so select option 1. If you need to look into the issue before hand you can choose option 2.

upgrade check has completed with a warning for disk-performance

As I’m using older equipment in a lab, my disk speed always fails. It is local storage and I know it runs fast enough to perform the required tasks. Therefore I know it is safe to whitelist the warning.

Starting the upgrade

# foreman-maintain upgrade run --target-version 6.4.z --whitelist disk-performance
We perform the upgrade now and whitelist the disk performance as this does not apply to us.

Finishing the first phase and server reboot

Finishing the upgrade and rebooting the server.

After the upgrade has finished, we want to verify if the kernel was updated, and if so perform a reboot. My server had not been updated in a while, so I knew it was going to get a new kernel. 1062.18 to be exact.

# rpm -qa --last | grep kernel
# reboot

This gets us finished with the prerequisite to upgrade to 6.5. Each additional upgrade step is going to be similar, however we will change the enabled repos that Satellite has, and change the upgrade target to the next version each time.

Upgrading from Satellite 6.4 to 6.5

We begin the process the same way as before, with just a few adjustments.

# subscription-manager refresh
# subscription-manager repos --enable rhel-7-server-satellite-maintenance-6-rpms --enable rhel-7-server-ansible-2.6-rpms
Enabling the repositories to upgrade from Red Hat Satellite 6.4 to 6.5
# yum update rubygem-foreman_maintain
# foreman-maintain upgrade list-versions
validating the next upgrade step which is Satellite 6.5

We see an option for Satellite 6.5 now, so we are going to choose this. We start again by running the upgrade check, to make sure there are no issues that will prevent the upgrade from succeeding.

# foreman-maintain upgrade check --target-version 6.5
running through the upgrade check for Satellite 6.5

Delete any old tasks by choosing yes. As before on my system, and as I’ve seen on many others the disk speed is flagged. If you are sure this is not an issue, you can whitelist the issue for installation. I have chosen to do this, as this server is in a lab and does not require quick storage.

Starting the upgrade process from Satellite 6.4 to 6.5

# foreman-maintain upgrade run --target-version 6.5 --whitelist disk-performance
We whitelist the disk performance again as it is a non issue for our setup.

As we just patched the system to the latest patches and kernel, and rebooted there is no need to do this again. We just will finish up the 6.5 upgrade by running the following command (assuming you are using the BASH shell).

# hash -d foreman-maintain service 2> /dev/null

Finishing Satellite 6.5

At this point you need to decide if you are going to move forward, or stay at 6.5 for a day or two. I find it best to continue on to reduce the overall work. If you plan on staying at 6.5 for a period of time you will want to update the Satellite tools to 6.5 and push it through your content views and finally update all your hosts. Otherwise just upgrade to 6.6 and save that step for the very end.

Upgrading from 6.5 to 6.6

Now we start the next phase, of upgrading from 6.5 to 6.6

We will follow the steps from our previous upgrade with just a few minor changes.

# subscription-manager refresh
# subscription-manager repos --enable rhel-7-server-satellite-maintenance-6-rpms --enable rhel-7-server-ansible-2.8-rpms

# yum install satellite-maintain rubygem-foreman_maintain
# satellite-maintain upgrade list-versions

As you can see, the ansible version is 2.8, otherwise all commands remain the same as before.

Starting the upgrade for Red Hat Satellite 6.6

You will see you now have the option for 6.6 in the upgrade list, so we are going to go with that to begin our final stage of the upgrade.

Validating the upgrade to Satellite 6.6

# satellite-maintain upgrade check --target-version 6.6
Checking the upgrade status for Satellite 6.6

If there are any issues that need to be cleared out, just select yes to continue on through. You will expect to see the disk speed issue again. Once it finishes, run the upgrade command with the whitelist option.

Starting the main upgrade to Satellite 6.6

# satellite-maintain upgrade run --target-version 6.6 --whitelist disk-performance
Whitelist the disk performance one more time.

Again, as we already updated the kernel there is no need to reboot again, so we can run the final command once the upgrade has finished. We only run this command however if we are using the BASH shell.

Satellite has now been upgraded from Red Hat Satellite 6.4 to 6.6
# hash -d satellite-maintain service 2> /dev/null

Updating Satellite Tools

The final steps is to bring our Satellite Tools up to 6.6 and make them available to our hosts. We want to log into our updated Satellite Server, which you will see is now at version 6.6.2

The Satellite 6.6 GUI

Navigate to Content > Red Hat Repositories and then search for “Satellite 6.6 tools”. You will need to look through them all to find the ones that are relevant to your network. Add any from RHEL 5, 6, or 7 so they show up in the Enabled Repositories section on the right.

Red Hat repositories on Satellite 6.6

I just needed the RHEL 7 Server Satellite tools, so I am adding them here.

Choosing Red Hat Satellite Tools 6.6 for RHEL 7

Synchronizing the repositories

Next we need to sync the repository from Red Hat so it is available to add to our content view or hosts if we are not using content views. Check the new RPM and choose Synchronize Now.

Synchronizing the Satellite Tools for 6.6

The repository is not very large, so it should not take long for this process to complete. Once done we want to add the Satellite Tools to all the content views that our hosts use. I am adding mine to the CV_RHEL7 content view.

Publishing the content in the correct content views.

Go into the Yum Content on your content view, and choose the add section. Pick your new Satellite Tools that match what this content view is used for and elect Add. You can remove the Satellite Tools for previous version as well by selecting them, and choosing Remove Repositories.

Remove the old Satellite tools from the content view.

Publishing the content views

Once done, choose Publish New Version, document why the change is being made in the notes (such as “Adding Satellite Tools 6.6) and publish the content view. This will only put it into Library, so you’ll want to promote it through DEV and PROD (or whatever your lifecycle chain is) so that all servers will have the repositories available.

Publishing the content view into Production.

One final step, is to edit your activation keys to ensure the older Satellite tools are disabled by default and the newer 6.6 one is enabled by default. Once the process has finished when you perform a yum update katello-agent or just updating as normal with a yum update the tools will update on the host with the latest version.

Conclusion

In all, the process is fairly straight forward. It just takes time to go through the entire process, so make sure to give yourself at least one full day to do the entire upgrade. It is good to note I skipped backing up my server beforehand, as I’m in a lab and I felt the chances of a failure were fairly low. However in a production environment, please ensure you have a backup of some type for your Satellite server before starting each phase of the upgrade.

Share

Ivan Windon

Ivan Windon is a Site Reliability Engineer at IBM. Ivan is actively engaged in Cloud Technologies with AWS, Google, and Azure. Ivan has extensive experience with Linux and Windows administration, DNS, Networking, IDM, and Security. In his free time, he enjoys being with his wife and two children. The family enjoys hiking, and traveling when able. His favorite locations are Yosemite NPS, and San Francisco, California.

You may also like...

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: