Drop EL7 packages from foreman-client with Foreman 3.14

Today we ship client packages for EL7. These are:

  • foreman_ygg_worker
  • katello-host-tools
  • katello-pull-transport-migrate
  • rubygem-foreman_scap_client

And their dependencies. This means it affects REX pull mode, Katello and OpenSCAP users.

The reason to drop is that EL7 is EOL and it’s starting to hold us back. Most notably, the go packaging is conflicting with what’s needed to support EL10.

My proposal is to drop it in nightly (as Fixes #38034 - Drop EL7 client support by ekohl · Pull Request #11493 · theforeman/foreman-packaging · GitHub does) and that becomes effective with Foreman 3.14.

4 Likes

We probably should point out that older client packages should in most cases work with newer Foreman installations.

Otherwise full ACK and :heart:

2 Likes

I debated that and considered writing out that old packages will continue to work until we make incompatible API changes. I don’t expect those, but it’s also not something we’ll know since we don’t test it.

Yeah, that sounds like good wording.

RHEL7 Extended support goes until 2028-06-30, according to katello/app/models/katello/rhel_lifecycle_status.rb at d2a19f6dc461fdec4d95c8718644af2631a76fb9 · Katello/katello · GitHub

As long as EL7 hosts can still be used with other client packages, this should be fine (but maybe it should be documented.)

You are right, though I’d refer to Red Hat Enterprise Linux Life Cycle - Red Hat Customer Portal. Having said that, if you need ELS then I think it’s reasonable that you either invest the time yourself to make it work or pay a vendor to support it for you. If it was trivial to support then I wouldn’t mind it, but if you look at the RPM spec for katello-host-tools then it’s already much more complicated because of EL7 support while for foreman_ygg_worker it’s using a very manual approach that no longer works on EL10. We could go the route of the very complicated spec file for both EL 7 and EL 10, but language wise it’s holding us back as well. katello-host-tools can probably drop support for Python 2 (I think ATIX still supports SLES 12, but it looks like that also ships Python 3.6) where the Go situation for foreman_ygg_worker on EL 7 is questionable at best since it comes from EPEL which itself no longer exists.