Bug 2221820 - Downgrade ansible-core to 2.14.7 with python 3.9
Summary: Downgrade ansible-core to 2.14.7 with python 3.9
Keywords:
Status: VERIFIED
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: ansible-core
Version: CentOS Stream
Hardware: All
OS: Linux
medium
low
Target Milestone: rc
: ---
Assignee: Dimitri Savineau
QA Contact: Matt Clay
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-10 22:21 UTC by Dimitri Savineau
Modified: 2023-07-20 14:23 UTC (History)
6 users (show)

Fixed In Version: ansible-core-2.14.7-1.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Gitlab redhat/centos-stream/rpms ansible-core merge_requests 35 0 None opened Draft: [c9s] Downgrade to 2.14.7 and use python 3.9 2023-07-18 14:13:50 UTC
Red Hat Issue Tracker RHELPLAN-161961 0 None None None 2023-07-10 22:24:59 UTC

Description Dimitri Savineau 2023-07-10 22:21:31 UTC
Description of problem:

It has been decided to pin the ansible-core release on RHEL 9.3+ to 2.14 so RHEL 7 targets could be supported compared to future ansible-core release.
To support ansible-core 2.14 during the remaining RHEL 9 lifecycle then python 3.9 (system default) will be used as interpreter.

Comment 1 Maxwell G 2023-07-11 00:46:53 UTC
Will this apply to RHEL 8 as well? What'll happen with CentOS Stream that already has 2.15? Also, I'm not sure how this relates to RHEL 7. ansible-core 2.15 still supports Python 2.7 on target nodes, does it not?

Comment 2 Dimitri Savineau 2023-07-11 13:43:11 UTC
> Will this apply to RHEL 8 as well? What'll happen with CentOS Stream that already has 2.15?

No it's only for RHEL 9

RHEL 8.9 will still use 2.15 with python 3.11 and the last 8.10 release will use 2.16 with python 3.12

> Also, I'm not sure how this relates to RHEL 7. ansible-core 2.15 still supports Python 2.7 on target nodes, does it not?

python 2.7 removal is planned for ansible-core 2.17 so we could have use ansible-core 2.16 with python 3.12.

However, python 3.12 on RHEL 9 will only be supported for 3 years which is 5 years short for 2.16 to be supported on RHEL 9 until the end of Maintenance support.
Since core 2.16 doesn't support python 3.9 then the remaining solution is ansible-core 2.14 (even releases are supported longer than odd releases) with python 3.9 (because it is supported during the whole RHEL 9 lifecycle.

Comment 3 Maxwell G 2023-07-11 16:03:42 UTC
(In reply to Dimitri Savineau from comment #2)
> > Will this apply to RHEL 8 as well? What'll happen with CentOS Stream that already has 2.15?
> 
> No it's only for RHEL 9
> 
> RHEL 8.9 will still use 2.15 with python 3.11 and the last 8.10 release will
> use 2.16 with python 3.12

Ack. I assume you plan to add an Epoch to CentOS Stream 9 now that ansible-core-2.15.0-1.el9 has gone out in a compose? Or will it stay at ansible-core-2.15.0-1.el9 for the rest of the lifecycle? Downgrading packages like this does not seem like something that should happen in a production distribution. It'll introduce regressions for Stream users.

> 
> > Also, I'm not sure how this relates to RHEL 7. ansible-core 2.15 still supports Python 2.7 on target nodes, does it not?
> 
> python 2.7 removal is planned for ansible-core 2.17 so we could have use
> ansible-core 2.16 with python 3.12.
> 
> However, python 3.12 on RHEL 9 will only be supported for 3 years which is 5
> years short for 2.16 to be supported on RHEL 9 until the end of Maintenance
> support.
> Since core 2.16 doesn't support python 3.9 then the remaining solution is
> ansible-core 2.14 (even releases are supported longer than odd releases)
> with python 3.9 (because it is supported during the whole RHEL 9 lifecycle.

I see. Would the core team consider supporting Python 3.9 for just one more release so you could support 2.16 with python3.9 for the rest of the lifecycle? Having a much newer version in EL 8 than 9 and having to back out an update and add an Epoch that'll stick around forever does not sound like a good situation to me.

Comment 4 Dimitri Savineau 2023-07-17 18:39:43 UTC
> Ack. I assume you plan to add an Epoch to CentOS Stream 9 now that ansible-core-2.15.0-1.el9 has gone out in a compose? Or will it stay at ansible-core-2.15.0-1.el9 for the rest of the lifecycle?

Adding Epoch is possibility. I just need to discuss about this with some RHEL/CS folks since this is only impacting C9S for now.

> Downgrading packages like this does not seem like something that should happen in a production distribution.

CS isn't designed for production.

> I see. Would the core team consider supporting Python 3.9 for just one more release so you could support 2.16 with python3.9 for the rest of the lifecycle?

AFAIK there's no plan to change the python support range on the ansible controller.

In fact, python 3.9 was already removed from devel last week.

https://github.com/ansible/ansible/commit/67b78a17c458a69e6b5b4c21c737219d37ed9f82


Note You need to log in before you can comment on or make changes to this bug.