Skip to content

Upgrade Ansible to maximum allowed version on oldest supported OS distributions#4139

Merged
tpdownes merged 1 commit into
GoogleCloudPlatform:developfrom
tpdownes:ansible_upgrade
May 19, 2025
Merged

Upgrade Ansible to maximum allowed version on oldest supported OS distributions#4139
tpdownes merged 1 commit into
GoogleCloudPlatform:developfrom
tpdownes:ansible_upgrade

Conversation

@tpdownes

@tpdownes tpdownes commented May 17, 2025

Copy link
Copy Markdown
Contributor

This PR implements an in-place upgrade of Ansible after support for CentOS 7 was dropped in #4138. When reviewing our supported operating systems, the minimum Python we must support is Python 3.8 from Ubuntu 20.04. This imposes a set of version limits which can be summarized as:

  • ansible-core 2.13
  • ansible 6.x (which depends on ansible-core 2.13)

Ubuntu 20.04 itself will be EOL in 2 weeks on 30 May 2025. The a3-highgpu-8g solution still has dependencies upon Ubuntu 20.04, however, so we cannot immediately drop support for it. Once we transition the A3 High solution to a new OS, our new limit will be imposed by Debian 11 (Python 3.9).

To obtain support for Python 3.8 and above, we must install a newer version of Python in Rocky Linux 8 which includes Python 3.6 in a base installation. Rocky Linux 9 includes Python 3.9 by default, which should suffice, however this PR makes the affirmative choice to update Rocky Linux 8 and 9 to include Python 3.12 but retain Python 3.6 and 3.9 (respectively) as the default Python 3 interpeter for users. The reasoning behind this:

  • The oldest supported release of Ansible requires Python 3.10 so this is a step we will need to take anyhow on both Rocky Linux 8+9
  • Python 3.12 aligns with RedHat Enterprise Linux 10 which was released on 13 May 2025

Submission Checklist

NOTE: Community submissions can take up to 2 weeks to be reviewed.

Please take the following actions before submitting this pull request.

  • Fork your PR branch from the Toolkit "develop" branch (not main)
  • Test all changes with pre-commit in a local branch #
  • Confirm that "make tests" passes all tests
  • Add or modify unit tests to cover code changes
  • Ensure that unit test coverage remains above 80%
  • Update all applicable documentation
  • Follow Cluster Toolkit Contribution guidelines #

@tpdownes tpdownes added the release-version-updates Added to release notes under the "Version Updates" heading. label May 17, 2025
@tpdownes tpdownes force-pushed the ansible_upgrade branch 5 times, most recently from 3eb1188 to a8fc8c0 Compare May 19, 2025 14:22
@tpdownes tpdownes requested a review from abbas1902 May 19, 2025 14:33
@tpdownes tpdownes marked this pull request as ready for review May 19, 2025 14:33
@tpdownes tpdownes requested review from a team and samskillman as code owners May 19, 2025 14:33
@tpdownes tpdownes changed the title Upgrade Ansible to maximum allowed version on oldest supported OS (Ubuntu 20.04) Upgrade Ansible to maximum allowed version on oldest supported OS distributions May 19, 2025
@tpdownes tpdownes enabled auto-merge May 19, 2025 15:15
Comment thread modules/scripts/startup-script/files/install_ansible.sh
@tpdownes tpdownes requested a review from cdunbar13 May 19, 2025 15:34

@abbas1902 abbas1902 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tpdownes tpdownes merged commit 5931cb3 into GoogleCloudPlatform:develop May 19, 2025
22 of 74 checks passed
@tpdownes tpdownes deleted the ansible_upgrade branch May 19, 2025 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-version-updates Added to release notes under the "Version Updates" heading.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants