Drop RHEL 7 / CentOS 7 support and move to Python 3.8 minimum?

Nico Kadel-Garcia nkadel at gmail.com
Thu Aug 24 21:10:26 UTC 2023

On Thu, Aug 17, 2023 at 8:08 PM Andrew Bartlett via samba-technical
<samba-technical at lists.samba.org> wrote:
> On Fri, 2023-08-18 at 11:52 +1200, Douglas Bagnall wrote:
> > On 18/08/23 11:20, Andrew Bartlett via samba-technical wrote:
> > > We need to reduce our CI time, and one way to do that is to
> > > reuseobjects as much as possible, creating read-only objects once
> > > per class,not per test.
> > > This is much cleaner if with the addCleanup() and
> > > addClassCleanup()methods, so I would like to be able to do that.
> > > To do that we need Python 3.8.  The primary blocker for this is
> > > theCentOS 7 build which uses Python 3.6 from EPEL, and a newer
> > > Python isnot in that repo.
> >
> > I had a look at the Python 3.8 git history for Lib/unittest to see if
> > it would be simple to backport/recreate the ClassCleanup code into
> > our TestCase wrappers (like we used to do for various assert
> > methods), and the answer is NO. Thankfully.
> > I have no opinions about Centos 7, but I do agree that the supported
> > Python versions need to be exactly determined by CI.
> > Douglas
> I would note that times when we didn't line up the CI version and
> Python 'supported' version, it kept breaking.
> I note that RHEL7 ends 'maintenance' in June 2024, just after the 4.20
> release March 2024
> https://www.redhat.com/en/blog/end-maintenance-red-hat-enterprise-linux-7-almost-here
> Those dates I think give good cause to drop CentOS 7, but other views
> still welcome.
> Andrew,

I've been publishing RHEL 8 and 9 ports of the latest releases. I
publish the needed updates for current python requirements over at
https://github.com/nkadel/samba4repo/ . RHEL 8 was missing a recent
enough python3-pyasn1, and RHEL 9 either lacked or lacked a recent
enough python3-iso86001 and python3-nose and python3-setproctitle

Note that because of the interwoven dependencies of libldb, libtevent,
etc. for sssd, I've given up on compiling those for RHEL and rely on
the Samba internal copies of those libraries. Battling it out with
sssd for ownership of those did not seem productive for Samba based
domain controllers.

Samba for RHEL 8 and 9 could, in theory, be updated to use python
3.11. I've done that sort of thing for ansible. Unfortunately, the
RHEL published python3.11 modules tend to be a bit sparse, as I
discovered the hard way with ansible and awscli. and getting pytest
working well for build-time test opoerations is... tricky.

More information about the samba-technical mailing list