-
Notifications
You must be signed in to change notification settings - Fork 6.7k
RockyLinux 10 support #12355
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
base: master
Are you sure you want to change the base?
RockyLinux 10 support #12355
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tico88612 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
49e73a1
to
baa5fa5
Compare
The CI image has been added: |
/retest-failed |
baa5fa5
to
60d619a
Compare
15bdcc1
to
8aa01a1
Compare
/retest |
d0b18fc
to
d2029c1
Compare
/label tide/merge-method-merge @VannTen, could you take a look at the package installation? |
d2029c1
to
4592257
Compare
Hum, isn't there a meta-package or something like that which would let us not use the version in the name ? This looks like we would keep extraneous package whenever the kernel version would change, and since (If there is not... RHEL is kinda insane ? 🤔 or maybe that's me) |
The docs does not seem to expect administrators to specify a version, AFAICT. |
I think we don't need the version of kernel-modules-extra. I can install it without version on RockyLinux 10.
|
Hum. And I guess if we don't upgrade the kernel stay at whatever versions it was and thus we get a mismatch.
I guess that code could change the problem but it's a significant change (even though we could argue it'd be more correct in general, not just for RHEL). 🤔 Relying on |
I also don't think that something like this is possible (to upgrade the existing and install new packages) : package:
name:
- package1
- package2
- '*'
state: latest |
Absolutely agree, I also don't prefer this if the CI can pass. |
Hmmm, it still failed. https://gitlab.com/kargo-ci/kubernetes-sigs-kubespray/-/jobs/11089189222 |
421c824
to
41c40b9
Compare
Signed-off-by: ChengHao Yang <[email protected]>
Signed-off-by: ChengHao Yang <[email protected]>
Signed-off-by: ChengHao Yang <[email protected]>
Some of the kernel modules required by CNI are missing, installing kernel-modules-extra can solve this problem. Signed-off-by: ChengHao Yang <[email protected]>
41c40b9
to
4aef24e
Compare
The approach is #12513 (upgrade to latest + reboot on kernel-*) upgrade appear to work. Or maybe limit the 'upgrade all' stuff to RHEL 10 & friends for 2.29, and switch it to default for 2.30 ? @tico88612 @yankay @ant31 opinions ? (I'm not big on delaying Rocky / RHEL10 support until next release). |
The upgrade all and reboot operations are indeed somewhat intrusive. If we absolutely need to support Rocky 10 as soon as possible, we might open a known issue and see if we can improve it later. I think it's acceptable to handle the 'upgrade all' stuff to RHEL 10 & friends for version 2.29. If we can optimize this issue in the future, it could be addressed in a patch release. |
Maybe something like: Gate "upgrade all" behind a bool variable, default to "ansible_os_family == RedHat && ansible_distribution_major_version == '10'" same thing for reboot. After 2.29, default to I'm kinda thorn on this (and two variables is not ideal, lots of distrib will have weird stuff after upgrade without reboot I think) 🤔 |
Restarting after upgrading the package seems fine to me, but I thought of two things that might need attention:
|
Personally I would say that initially updating and rebooting nodes when building the cluster is a less important subset of the ongoing operational task of keeping nodes up to date over time, which falls under cluster administration and requires extra steps like cordoning and draining nodes. Moreover, starting with up-to-date nodes when building the cluster seems to me like it should instead be the responsibility of the OS image you use when installing nodes or launching VMs (i.e. RHEL 10 images should just work out of the box...) Anyway that is just my 2 cents. |
I'd rather keep install and upgrade as close as possible (and close the gap, in fact).
It looks like we already have a IMO we should basically replace it with system_packages in the upgrade-cluster playbook (which it does not include for now AFAICT, which could cause problems if we had required package in a new version for instance). It needs some adaptation though, and that's outside the scope of this PR. I don't see a robust way to work with rocky linux / RHEL 10 without that though (if you have ideas ! ^^). Maybe we can add a doc disclaimer requiring to install the kernel-modules-extra for RHEL 10 for now ? It should be easy enough to check. @tico88612 wdyt ? |
Should I remove |
Special casing in CI to preinstall the version matching the kernel in our test image ?
I'm not sure what the best solution is, honestly.
|
Hi @VannTen @tico88612, Thank you for working on Rocky Linux 10 support. I understand the necessity of upgrading packages and installing kernel-modules-extra to ensure proper functionality. However, these operations involve system-wide package upgrades and may require reboots, which could disrupt service availability in production environments. Could we consider making these operations optional with configuration switches (defaulting to disabled)? This would allow operators to:
Additionally, clear documentation explaining when these operations are needed and their potential impact would be very helpful for operators. This approach would balance the technical requirements for Rocky Linux 10 support with operational flexibility for production deployments. What are your thoughts on this approach? |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Add Rocky Linux 10 support
Which issue(s) this PR fixes:
Fixes #12253
Special notes for your reviewer:
Add image first.
Does this PR introduce a user-facing change?: