This collection provides Ansible roles you can use to perform RHEL in-place upgrades using the Leapp framework. Successfully executing upgrades at scale across a large RHEL estate demands a customized end-to-end automation approach tailored to meet the requirements of your enterprise environment. Use these roles as the foundation of your RHEL in-place upgrade automation solution.
These are the roles included in the collection. Follow the links below to see the detailed documentation and example playbooks for each role.
analysis
- executes the Leapp pre-upgrade phasecommon
- used for local logging, mutex locking, and common varsparse_leapp_report
- reads pre-upgrade results and checks for inhibitorsupgrade
- executes the Leapp OS upgraderemediate
- assists in the remediation of a system (RHEL 8 only)
The collection supports RHEL in-place upgrades for the following RHEL versions:
- RHEL 6 to RHEL 7 (RUT)
- RHEL 7 to RHEL 8 (Leapp)
- RHEL 8 to RHEL 9 (Leapp)
The collection may be used for the RHEL upgrade paths and minor versions supported by the indicated upgrade utilities (Leapp or RUT). Refer the to Red Hat knowledge solution article Supported in-place upgrade paths for Red Hat Enterprise Linux for the latest support details.
The roles in this collection have been successfully used in a number of different environments including on-prem bare metal servers and VMs pulling RHEL packages from Red Hat CDN repos, Satellite content views, or mirrored repos internal to disconnected networks. Upgrading RHEL on Amazon EC2 instances pulling from bring-your-own-subscription CDN repos or pay-as-you-go RHUI repos have also been tested. Upgrading RHEL on other public clouds should be possible as well after setting the documented role variables as required.
Third-party products and packages are not upgraded by the upgrade
role. To achieve a complete end-to-end server upgrade, you may need to implement custom automation beyond the scope of this collection to perform tasks required for the upgrade or removal/reinstall of any impacted third-party tools and agents, for example Veritas Cluster, SAP HANA, etc. Likewise, the role does not upgrade packages installed from non-RHEL repositories such as Red Hat Software Collections, EPEL, RPM Fusion, etc.
Having said that, many application workloads will benefit from RHEL Application Compatibility support such that they will still function correctly after a RHEL in-place upgrade if simply left untouched. Of course, the only way to know for sure is to run a test upgrade and then assess if there is any unexpected impact to your app. Pro tip: Test in your lower environments before moving on to production.
Example playbooks can be found here.
Before using this collection, you need to install it with the Ansible Galaxy command-line tool:
ansible-galaxy collection install infra.leapp
You can also include it in a requirements.yml
file and install it with ansible-galaxy collection install -r requirements.yml
, using the format:
---
collections:
- name: infra.leapp
Note that if you install the collection from Ansible Galaxy, it will not be upgraded automatically when you upgrade the ansible
package. To upgrade the collection to the latest available version, run the following command:
ansible-galaxy collection install infra.leapp --upgrade
You can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax to install version 1.0.0
:
ansible-galaxy collection install infra.leapp:==1.0.0
See Using Ansible collections for more details.
We are a fledgling community and welcome any new contributors. Get started by opening an issue or pull request. Refer to our contribution guide for more information.
Please open a new issue for any bugs or security vulnerabilities you may encounter. We also invite you to open an issue if you have ideas on how we can improve the solution or want to make a suggestion for enhancement.
This Ansible collection is just one building block of our larger initiative to make RHEL in-place upgrade automation that works at enterprise scale. Learn more about our end-to-end approach for automating RHEL in-place upgrades at this blog post.
See the changelog.
MIT
See LICENSE to see the full text.