When we first ran in-place upgrades with the new Leapp framework at Red Hat Summit 2019, we asked our Red Hat Accelerator group if they would actually use it.
"Probably not," they all said. They saw an opportunity to replace hardware and pay off technical debt in a major upgrade version of Red Hat Enterprise Linux (RHEL). But things seem to have changed. Here's what our customers are telling us in 2023:
They:Annual Linux Market Report 2021
What caused this change? Almost all of our customers find hardware upgrades and software upgrades different challenges. Our solutions architects in the financial sector report that all major banks are planning on-site upgrades for 100% of their systems in the future.
You should think about itRHEL 7 will end maintenance in June 2024.
While major version upgrades have historically been a major concern, this growing trend offers great benefits to all RHEL users. Large customers have learned to fully automate the process themselves (most often using Ansible playbooks and Leapp actors). The logic that drives these automations is increasingly available to the entire Red Hat community, which also favors smaller deployments.
What does a large-scale automatic upgrade look like?
Red Hatter Bob Mader worked at a major bank in 2019, where he led a pilot project to automate 80,000 in-place upgrades from RHEL 6 to RHEL 7. End of Support (sound familiar?) They developed an advanced automated process.
Bob and his teamautomate everythingThe end-to-end process culminates in a button that the application owner can click himself for an automated on-the-spot upgrade.
The key element to reduce risk and the idea most supported by application teams is aSnapshot recovery function.Removes the worry that upgrading is too risky. If something goes wrong (less than 1% of the time), it reverts to its old state.
At the heart of all automation is creationcustom module(usually an Ansible playbook). The Leapp framework doesn't magically update perfectly. Instead, Leapp updates the Red Hat-signed packages to those needed to update the kernel. If you're like most organizations, you have tools and agents (security scanners, backup and restore tools, Chef, Puppet, etc.) in your default RHEL build. All of these tools may need to be updated, re-registered or reconfigured individually.
Eventually Bob's team learned that when youCreate reporting dashboards.Many customers use tools like Splunk to do this, but it's also possible with open source solutions. This dashboard is a way to visualize the upgrade process along with upgrade data and upgrades completed over time.
this report isSoimportant. It may help to ask the question, "Why can't your staff manage the lifecycle of this platform?" Many upgrades and compliance reports now look much better. If you can prove that you're updating a thousand hosts every month, the boss will be very, very happy.
The final image of the upgrade infrastructure you create looks like this:
This workflow is intended for true Linux systems engineers. Small icons in the corners indicate which of these will be automated using Ansible Playbooks. Divided into three phases:
The first step is to generate a pre-upgrade report.Use this report to assess if there are any upgrade barriers. If so, you will receive advice on how to implement the suggested corrective action. After you resolve these issues, run the report again and repeat the sequence until the obstacle is resolved. Also, you should automate repairs as much as possible so you don't have to do manual steps on every system. After the automatic repair is built and executed, most pre-upgrade reports indicate that your system is ready for upgrade.
ako korositieRed Hat-Satellit(in this case to provide a communication path for your host) you can do thatGenerate comprehensive reports using Red Hat Insights tasks.
The second level is the upgrade level.With a pre-upgrade report and remedial actions in place, you can plan upgrade maintenance windows. There are usually two books for this step:
- The first to create a snapshot that can't be done (we don't change the host before we create it!)
- The second is the upgrade manual, which runs our custom modules, the parts that need to run at the appropriate time before and after the upgrade.
In between, the automation performs the Leapp upgrade itself, essentially updating the host to the next major version.
The third phase is the surrender phase.The upgrade is complete and the system is running on the new OS version. It's time to check if the apps are still working. The system works 99% of the time. The RHEL system libraries have very good compatibility properties to ensure that applications work as expected. If you complete the upgrade and notice, "Oh my god, the app has stopped working," you can use the rollback button to go straight back to where you were before - without causing any disruption.
In this last phase, you usually let the system age for a while. Once they look good and everyone says, "Yeah, I think it's working," you can commit, delete the recording, reclaim the disk space, and you're done.
This may seem like a lot of steps, but they can be done gradually. And you don't have to create everything from scratch. Red Hat currently has many RHEL upgrade experts and we publish a lot of content upstream. If you're a smaller company, you might be thinking, "Wow, that sounds difficult for a team like ours," but just follow the same steps, using a smaller version of this process and fewer scripts. The basic principles still apply. Of course we are here for you.
Learn more about RHEL upgrades
- Upgrade your Red Hat Enterprise Linux infrastructure - preparation is the key to success
- Red Hat Enterprise Linux upgrade process
- Leapp explained
- Upgrading Red Hat Enterprise Linux with Leappa using Red Hat Satellite
- Red Hat Enterprise Linux 7 ends maintenance
- Nadogradnja s RHEL 7 na RHEL 8 Red Hat Enterprise Linux 8
- Nadogradnja s RHEL 6 na RHEL 8 Red Hat Enterprise Linux 8
- Upgrading hosts to the next major release of Red Hat Enterprise Linux using Satellite
- Eliminate unknowns in RHEL upgrades using Insights tasks
- Customize your Red Hat Enterprise Linux upgrade in place
- Leapps documentation for developers
- Upgrading from RHEL 7 to RHEL 8 with Leapp and BOOM
- Upgrading from Red Hat Enterprise Linux 7 to 8 with leapp
- In-place nadogradnja s Red Hat Enterprise Linux 7 na 8 s leapp
- In-place nadogradnja s Red Hat Enterprise Linux 8 na 9 s leapppom
Community automation and wizards
This upstream repository contains a collection of Ansible roles for automating RHEL in-place upgrades using Leapp. These roles provide a standardized way to perform pre-upgrade analysis and upgrade RHEL itself using the Leapp framework. If you're ready to develop your own custom playbooks to upgrade your business, consider using the roles from this Ansible collection to streamline your work.
In the Leapp Supplements Repository, you can find examples of Leapp custom actors to work with common third-party products and special requirements. These actors serve as pre-upgrade checks alongside those included in the mainstream Leapp framework. Custom actors also enable custom automation not possible with Ansible when tight integration with RHEL upgrade tools is required. It also has makefiles for custom RPM actor packages.
We are here to help
IAutomatic updateAfter the development of recent yearsRed Hat Consulting ServicesPlayed a key role in supporting many clients in very large business transformations. If you're feeling overwhelmed by the thought of converting a large environment or aren't sure where to start, Red Hat Consulting Services can provide guidanceexpertise and guidanceWe'll help you achieve your goals, potentially saving you time and money in the process.