CPBR-3030 | Upgrade python to 3.14#1280
CPBR-3030 | Upgrade python to 3.14#1280Abhishek Krishna (abh1sh5k) wants to merge 7 commits into7.4.xfrom
Conversation
| <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> |
There was a problem hiding this comment.
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}" \ |
There was a problem hiding this comment.
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 \ |
There was a problem hiding this comment.
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 \ |
There was a problem hiding this comment.
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?
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
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)
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