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
# yum install rubygem-foreman_maintain
# foreman-maintain upgrade list-versions
# foreman-maintain upgrade check --target-version 6.4.z
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.
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
Finishing the first phase and server reboot
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
# yum update rubygem-foreman_maintain # foreman-maintain upgrade list-versions
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
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
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.
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
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
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.
# 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
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.
I just needed the RHEL 7 Server Satellite tools, so I am adding them here.
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.
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.
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.
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.
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.
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.