Skip to content

CPBR-3030 | Upgrade python to 3.14#1280

Open
Abhishek Krishna (abh1sh5k) wants to merge 7 commits into7.4.xfrom
python-upgrade
Open

CPBR-3030 | Upgrade python to 3.14#1280
Abhishek Krishna (abh1sh5k) wants to merge 7 commits into7.4.xfrom
python-upgrade

Conversation

@abh1sh5k
Copy link
Member

Summary
This PR migrates the base image from Python 3.9 to Python 3.14 and changes confluent-docker-utils to use the replace-docker-compose-with-sdk branch instead of a tagged release.

Changes

  1. Python 3.9 → 3.14 Migration
    Property names updated:
    ubi8-minimal.python39.version → ubi8-minimal.python314.version
    ubi8-minimal.python39-pip.version → ubi8-minimal.python314-pip.version
    Dockerfile updated (base/Dockerfile.ubi8):
    Package names: python39 → python3.14
    Package names: python39-pip → python3.14-pip
    POM references updated in base/pom.xml (both spotify and fabric8 plugins)
  2. confluent-docker-utils Branch Reference
    Changed git-repo.confluent-docker-utils.tag from v0.0.162 to replace-docker-compose-with-sdk
    Updated base/requirements.txt to reference the branch instead of the tag
    Files Modified
    pom.xml - Updated property definitions
    base/pom.xml - Updated build arguments
    base/Dockerfile.ubi8 - Updated Python package names
    base/requirements.txt - Updated confluent-docker-utils reference

@abh1sh5k Abhishek Krishna (abh1sh5k) requested a review from a team as a code owner February 26, 2026 06:32
<ubi8-minimal.wget.version>1.19.5-12.el8_10</ubi8-minimal.wget.version>
<ubi8-minimal.nmap-ncat.version>7.92-2.el8_10</ubi8-minimal.nmap-ncat.version>
<ubi8-minimal.python39.version>3.9.25-2.module+el8.10.0+23718+1842ae33</ubi8-minimal.python39.version>
<python314.version>3.14.3</python314.version>
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we rename it to python.python314.version . Whenever we add docker dependencies updation task, it requires properties in a similar format.

"openssl${OPENSSL_VERSION}" \
"wget${WGET_VERSION}" \
"nmap-ncat${NETCAT_VERSION}" \
"python39${PYTHON39_VERSION}" \
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we still need these python installations?

&& python3 -m pip install --upgrade "setuptools${PYTHON_SETUPTOOLS_VERSION}" \
&& python3 -m pip install --prefer-binary --prefix=/usr/local --upgrade "${PYTHON_CONFLUENT_DOCKER_UTILS_INSTALL_SPEC}" \
&& yum remove -y git \
&& yum remove -y git gcc gcc-c++ make perl-IPC-Cmd openssl-devel bzip2-devel findutils libffi-devel zlib-devel sqlite-devel \
Copy link
Contributor

Choose a reason for hiding this comment

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

Abhishek Krishna (@abh1sh5k) is there any way for us to be sure that these are only needed to compile python and not at runtime? Will things break if we remove these packages?

&& cd .. \
&& rm -rf Python-${PYTHON314_VERSION}* \
&& ln -sf /usr/local/bin/python3.14 /usr/bin/python3 \
&& ln -sf /usr/local/bin/python3.14 /usr/bin/python \
Copy link
Contributor

@KrishVora01 Krish Vora (KrishVora01) Feb 27, 2026

Choose a reason for hiding this comment

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

Should we be doing this - overwriting the supported python version in the base image to 3.14? Would that put us at a risk of breaking default os functionality? Iirc yum needed python as a dependency. Do you think it will be better to create a venv instead? Wdyt?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants