Drop support for running on EL8 with Foreman 3.13

Note This is about running on EL8, not about managing EL8 clients.

Foreman 3.10 added experimental support for running on EL9 and 3.11 will make it production quality. Because of that I’m proposing to drop it with Foreman 3.13.

Why 3.13? With my downstream hat on we want to support it in 3.12 and with my upstream hat on I’d like to focus on EL9 as soon as possible. RHEL 8 has ended standard support and this way we can start relying on EL9 features. It also saves the maintenance burden. Use dynamic build requires for Foreman on EL9 by ekohl · Pull Request #8414 · theforeman/foreman-packaging · GitHub is one example where EL8 is causing manual work where EL9 can automate things. There are probably more out there.

The plan is to announce this in the Foreman 3.11 & 3.12 release notes as a deprecation. Then 3.13 will actively drop it. Once 3.12 is EOL users must migrate away from EL8. We will publish instructions on upgrading from EL8 to EL9 with leapp so users don’t need to reinstall their systems.

7 Likes

Leeapp upgrade steps would be good, many of us still seating on 8, but welcome the 9 journey.

2 Likes

This is great news and great work to bring Foreman on to EL9, and I’m fully in favour of dropping EL8 as quickly as possible as it’s not been a ‘great’ OS with all the drama and move to stream.

I have a few questions/considerations

As RedHat 8 is still in support with maintenance support 2 ending in in 2029 there are / still will be paying users who I suspect will not appreciate moving away from 8 as quickly as Foreman 3.13, there will also be EL8 users who may need time to prepare greater than 3.13, how will users on RHEL’s expectations be handled and do we have a rough date planned for 3.13 as targeting a release is great but people tend to respond better to clearer target dates

With RHEL Satellite being built on Katello, and that being supported on RHEL 8 is the 3.13 release aligned with a Satellite product release / update, I’ve been following my Satellite notifications (and also kicking my TAM) for support for RHEL9 and the feedback has been not on the roadmap, not for a while, etc. of there is no (to my knowledge) announced EOL alignment with Satellite versions won’t the code base for RHEL 8 compatibility still need to be maintained to support Satellite until it’s EOL and paid for support subscriptions expire or it goes into critical security update mode only, I suspect most orgs running Satellite will need a reasonable amount of time to plan and execute their migration.

Fully support focussing on EL9 though and very much appreciated of the effort needed to maintain multiple OS’s

Note this is only for the server aspect. Clients will still be supported.

As for the timeline, Foreman 3.12 Schedule and Planning has just been posted and I should have made it explicit here. 3.12 (the last release to support EL8) is planned to go GA 2024-09-17 has has roughly 6 months of support, so mid March 2025.

You probably know Red Hat doesn’t communicate its road map here in upstream, but with my downstream hat on I can say that there should be sufficient hints in this thread. Also, your TAM should know. Let me follow that up privately.

And for the Satellite/Foreman version matching I like: Satellite 6 Component Versions - Red Hat Customer Portal

So Foreman 3.11 & Katello 4.13 should be Satellite 6.16 and Foreman 3.13 & Katello 4.15 then should be Satellite 6.17.

+1 from me

Right now for python packages we could use DynamicBuildRequires since we package the new macros for pyproject.toml, we decided to wait to EL9 to respect ABI and not break stuff on EL8.

During 3.13 development cycle we will probably rebuild all python packages that still use setup.cfg and egg, to ensure that we have new metadata for all packages.

With ~5 years of life left on Enterprise Linux 8.x (and all its variants) why rush to EL9 so quickly? Is it not possible to support both for a longer period? I wasn’t even planning to start looking into all of the changes in EL9 until next year (especially after the Broadcom fiasco with VMware). If Foreman doesn’t have a LTS version, there needs to be a bit more lead time before major architectural/management changes such as this TBH.

2 Likes

Is Red Hat going to drop support for running any future versions of Red Hat Satellite on RHEL8?

If not, then Foreman will have to support EL8 anyway I would think.

Hi @mclausen and @nixfu

this RFC is about dropping support for EL8 as platform for Foreman Server and Smart Proxy Servers, not registered hosts.

The open source community/ upstream supports the two most recent releases. As of today, that’s Foreman 3.10 and 3.9. (soon: Foreman 3.11 and 3.10; you’ll notice on docs.theforeman.org.

If you use downstream products such as Red Hat Satellite or orcharhino by ATIX, the support and lifecycle will vary and most certainly be longer than by the community project.

Note that this RFC is independent of the OS of hosts that you provision/configure/manage with Foreman: Supported clients in registration.

1 Like

You could argue this is so broad that for sure you can say that a future version of Red Hat Satellite will drop support for running on RHEL 8, because RHEL 8 will go EOL at some point.

I’ll reiterate that this is about upstream and Red Hat tries to avoid making (public) claims about future versions, but can also assure you that as a Red Hat employee I have kept our downstream concerns in mind.

OK, not a problem I was just curious of Red Hat has already announced anything. If not then I assume there will be an announcement in future that Satellite 6.16 will be the terminal version supported on RHEL8 infrastructure.

100% agree with this… Especially in the government space.

It’s in the 3.11 release notes as a deprecation: Foreman 3.11 Release Notes

I’ll keep this open and only resolve it once the support actually has been dropped.

2 Likes

Leapp guide is also ready, just needs to be merged to get published: Add section for RHEL8to9 in-place upgrade using LEAPP by AkshayGadhaveRH · Pull Request #3070 · theforeman/foreman-documentation · GitHub