Ansible playbooks for RHEL in-place upgrade (IPU) automation.
- inventory
- Example inventory
- leapp.answerfile
- Example Leapp answerfile
- preupgrade.yml
- Playbook to run Leapp preupgrade test and check results
These playbooks automate RHEL in-place upgrade related tasks. The playbooks use supported RPMs from Red Hat repositories and only the leapp utility metadata must be downloaded separately in disconnected environments.
The minimal leapp utility answerfile example can be expanded as needed according to local findings and needs.
When using Red Hat Satellite, a content view (CV) providing both the source and target repositories is needed. The provided playbooks switch the target systems to use such a CV automatically if a corresponding activation key (AK) is provided. Also, the initial, real system CV is restored after the check when, again, a corresponding AK is provided.
The preupgrade.yml
playbook will install the Leapp RPMs and leave them
installed on target systems after the check as it is expected that Leapp
will be used later to perform the actual in-place upgrade. Leapp RPMs
and their dependencies consume some 20 MB of disk space so this should
not be an issue.
For further details please see the related documentation listed below.
To run RHEL in-place preupgrade test and automatically check results without doing permanent modifications on target systems:
# Edit inventory and parameters to suite local environment
vi inventory preupgrade.yml
# Run Leapp preupgrade test and check results
ansible-playbook -i inventory preupgrade.yml
- https://www.redhat.com/en/resources/upgrading-your-linux-infrastructure-overview
- https://access.redhat.com/support/policy/updates/errata
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/considerations_in_adopting_rhel_8/index
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/upgrading_from_rhel_7_to_rhel_8/index
- https://access.redhat.com/solutions/21964
- https://access.redhat.com/articles/4263361
- https://access.redhat.com/solutions/4120411
- https://access.redhat.com/articles/3664871
- https://access.redhat.com/solutions/5392811
- https://access.redhat.com/solutions/4067471
- https://access.redhat.com/solutions/6625001
- https://access.redhat.com/solutions/6989732
- https://access.redhat.com/solutions/5057391
- https://access.redhat.com/articles/4977891
- https://access.redhat.com/articles/5777571
- https://access.redhat.com/articles/rhel-limits
- Application Compatibility Guide
- Application Compatibility Policies
- Application Streams Life Cycle
- RHEL Container Compatibility Matrix
- RHEL hardware support
- RHEL unmaintained hardware
- Kernel ABI (kABI)
- 32-bit applications
- Ansible
- C/C++ developer blog post
- C/C++ RHEL documentation
- C, C++, Go, Rust on RHEL 9
- Docker
- Java
- Python
- Support Scope Details
- https://www.redhat.com/en/blog/how-automate-upgrades-rhel-7-end-maintenance
- https://www.redhat.com/en/blog/plan-maintenance-your-red-hat-enterprise-linux-systems-using-newly-published-upgrade-schema
See also https://www.redhat.com/en/interactive-labs/perform-in-place-upgrade-with-leapp.
See also https://www.redhat.com/en/blog/take-unknowns-out-rhel-upgrades-red-hat-insights.
See also https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles.
See also https://github.com/myllynen/rhel-ansible-roles.
MIT