-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFE] Support upgrade from RHEL 9 to 10 #236
Comments
This comment was marked as outdated.
This comment was marked as outdated.
Amazingly, only very minor changes required to make the collection roles work for upgrading from RHEL 9 to RHEL 10 Beta. See the diff under commit 63de955 on my rhel_9_to_10 branch. What follows are the steps that worked for me to get to RHEL 10 Beta using the rhel_9_to10 branch of the collection. There were a some minor issues requiring a couple of sneaky extra tasks in my test playbooks, but we have demonstrated a successful RHEL 10 upgrade using Ansible automation and the infra.leapp collection. The first step is we need to get a RHEL 9 instance to upgrade. I used Insights image builder to create a VM on my laptop with a vanilla 9.5 install automatically subscribed to Red Hat repos. You could also install RHEL 9 using an ISO, but it will need to be registered using subscription-manager for this to work. When you have your RHEL 9 host ready to test, the next step is to run an analysis job. Unfortunately, there are no Leapp packages yet in Red Hat's RHEL 9 GA repos. So to get around that, we are using the "beta" Leapp packages available from the public upstream COPR repo for Leapp. You can see how I configured that repo in the playbook I used to automate my analysis job:
You can see we also configured some env vars for the Leapp run. Setting Here's the log output from the new task added in the rhel_9_to_10 branch of the analysis role to install the RHEL 9 Leapp packages:
The analysis job finished successfully, so let's check /var/log/leapp/leapp-report.txt on the host. Much to my surprise, there were no inhibitors listed. Having no inhibitors, the next step is to try an upgrade job. Remember, "fail fast" and then have coffee! Here we hit an issue where the SHA1 rpm signing public keys in the RHEL 9 image are incompatible with upgrading to RHEL 10. This is a known issue and the Leapp team is working in fixing it under private bug RHEL-71517. In the meantime, we can get around the issue by manually importing the SHA256 generation of the keys. Of course, we can easily automate this fix as seen in my test playbook for running the upgrade:
Using this playbook, the run successfully executed the Leapp upgrade and our host came up running a RHEL 10 kernel. These commands provides our proof of the successful upgrade:
So where does that leave us. Yes, we had to fiddle with a couple fun Leapp issues, but hey, it's beta. The good news is we learned that with only some minor changes, the infra.leapp collection will be able to handle Leapp upgrades from RHEL 9 to 10 when Red Hat makes the support for that GA. Thanks for riding along. Cheers! |
We're following PR oamg/leapp-repository#1325 which should be fixing the gpg-pubkey issue discussed in the previous comment. |
As announced here, RHEL 10 Beta is now available and "mid-2025" is the target date for GA release.
To prepare for this, let's start working on making the roles support upgrades from RHEL 9 to 10. For now, these upgrades would target RHEL 10 Beta just for testing and demonstration use, but the ultimate goal is to be ready on day one after the RHEL 10 GA release.
This work will happen under the rhel_9_to_10 branch of my infra.leapp fork. If you are interested in contributing, I'll happily review your pull requests there!
We'll be posting updates on the progress under this issue. The first big milestone with be to document here how to try it out when we have something reasonably ready for testing.
Cheers!
The text was updated successfully, but these errors were encountered: