From 0bc6360440ae1dc7261a7e418c55f8d2629fc64d Mon Sep 17 00:00:00 2001 From: Christophe Papazian Date: Mon, 3 Nov 2025 14:43:33 +0100 Subject: [PATCH 1/6] [python] dependencies update for django 3.13 --- utils/build/docker/python/django-py3.13.base.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/build/docker/python/django-py3.13.base.Dockerfile b/utils/build/docker/python/django-py3.13.base.Dockerfile index 85ca8864088..e7d129ea6c1 100644 --- a/utils/build/docker/python/django-py3.13.base.Dockerfile +++ b/utils/build/docker/python/django-py3.13.base.Dockerfile @@ -8,7 +8,7 @@ RUN python --version && curl --version # install python deps ENV PIP_ROOT_USER_ACTION=ignore RUN pip install --upgrade pip -RUN pip install django==5.2.6 pycryptodome==3.23.0 gunicorn==23.0.0 gevent==25.8.2 requests==2.32.4 boto3==1.34.141 'moto[ec2,s3,all]'==5.0.14 xmltodict==0.14.2 zope.event==5.1.1 zope.interface==7.2 +RUN pip install django==5.2.7 pycryptodome==3.23.0 gunicorn==23.0.0 gevent==25.9.1 requests==2.32.4 boto3==1.40.64 'moto[ec2,s3,all]'==5.1.16 xmltodict==0.14.2 zope.event==6.0 zope.interface==8.0.1 # docker build --progress=plain -f utils/build/docker/python/django-py3.13.base.Dockerfile -t datadog/system-tests:django-py3.13.base-v6 . # docker push datadog/system-tests:django-py3.13.base-v6 From e5d37b8fc620dfcf71041983a2b42715a4c10cef Mon Sep 17 00:00:00 2001 From: Christophe Papazian Date: Mon, 3 Nov 2025 15:22:45 +0100 Subject: [PATCH 2/6] updating base version --- utils/build/build_python_base_images.sh | 4 ++-- utils/build/docker/python/django-py3.13.Dockerfile | 2 +- utils/build/docker/python/django-py3.13.base.Dockerfile | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/utils/build/build_python_base_images.sh b/utils/build/build_python_base_images.sh index e4b5a077c18..82b9b6aebea 100755 --- a/utils/build/build_python_base_images.sh +++ b/utils/build/build_python_base_images.sh @@ -4,7 +4,7 @@ -docker buildx build --load --progress=plain -f utils/build/docker/python/django-py3.13.base.Dockerfile -t datadog/system-tests:django-py3.13.base-v6 . +docker buildx build --load --progress=plain -f utils/build/docker/python/django-py3.13.base.Dockerfile -t datadog/system-tests:django-py3.13.base-v7 . docker buildx build --load --progress=plain -f utils/build/docker/python/fastapi.base.Dockerfile -t datadog/system-tests:fastapi.base-v7 . docker buildx build --load --progress=plain -f utils/build/docker/python/python3.12.base.Dockerfile -t datadog/system-tests:python3.12.base-v10 . docker buildx build --load --progress=plain -f utils/build/docker/python/django-poc.base.Dockerfile -t datadog/system-tests:django-poc.base-v8 . @@ -12,7 +12,7 @@ docker buildx build --load --progress=plain -f utils/build/docker/python/flask-p docker buildx build --load --progress=plain -f utils/build/docker/python/uwsgi-poc.base.Dockerfile -t datadog/system-tests:uwsgi-poc.base-v7 . if [ "$1" = "--push" ]; then - docker push datadog/system-tests:django-py3.13.base-v6 + docker push datadog/system-tests:django-py3.13.base-v7 docker push datadog/system-tests:fastapi.base-v7 docker push datadog/system-tests:python3.12.base-v10 docker push datadog/system-tests:django-poc.base-v8 diff --git a/utils/build/docker/python/django-py3.13.Dockerfile b/utils/build/docker/python/django-py3.13.Dockerfile index fe0be61e2fb..1baf55db83a 100644 --- a/utils/build/docker/python/django-py3.13.Dockerfile +++ b/utils/build/docker/python/django-py3.13.Dockerfile @@ -1,4 +1,4 @@ -FROM datadog/system-tests:django-py3.13.base-v6 +FROM datadog/system-tests:django-py3.13.base-v7 WORKDIR /app diff --git a/utils/build/docker/python/django-py3.13.base.Dockerfile b/utils/build/docker/python/django-py3.13.base.Dockerfile index e7d129ea6c1..25a2b379967 100644 --- a/utils/build/docker/python/django-py3.13.base.Dockerfile +++ b/utils/build/docker/python/django-py3.13.base.Dockerfile @@ -10,5 +10,5 @@ ENV PIP_ROOT_USER_ACTION=ignore RUN pip install --upgrade pip RUN pip install django==5.2.7 pycryptodome==3.23.0 gunicorn==23.0.0 gevent==25.9.1 requests==2.32.4 boto3==1.40.64 'moto[ec2,s3,all]'==5.1.16 xmltodict==0.14.2 zope.event==6.0 zope.interface==8.0.1 -# docker build --progress=plain -f utils/build/docker/python/django-py3.13.base.Dockerfile -t datadog/system-tests:django-py3.13.base-v6 . -# docker push datadog/system-tests:django-py3.13.base-v6 +# docker build --progress=plain -f utils/build/docker/python/django-py3.13.base.Dockerfile -t datadog/system-tests:django-py3.13.base-v7 . +# docker push datadog/system-tests:django-py3.13.base-v7 From eac06a4ed9142451e38ee556e9c36edceb55ec67 Mon Sep 17 00:00:00 2001 From: Christophe Papazian Date: Mon, 3 Nov 2025 18:20:39 +0100 Subject: [PATCH 3/6] use ddtrace.auto instead of ddtrace-run --- utils/build/docker/python/django/app.sh | 5 +++-- utils/build/docker/python/django/django_app/wsgi.py | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/utils/build/docker/python/django/app.sh b/utils/build/docker/python/django/app.sh index 87b2340ebe3..3bedf737738 100755 --- a/utils/build/docker/python/django/app.sh +++ b/utils/build/docker/python/django/app.sh @@ -4,8 +4,9 @@ echo "--- PIP FREEZE ---" python -m pip freeze echo "------------------" + if [[ $(python -c 'import sys; print(sys.version_info >= (3,12))') == "True" ]]; then - ddtrace-run gunicorn -w 1 -b 0.0.0.0:7777 --header-map dangerous --access-logfile - django_app.wsgi -k gevent + gunicorn -w 1 -b 0.0.0.0:7777 --header-map dangerous --access-logfile - django_app.wsgi -k gevent else - ddtrace-run gunicorn -w 1 -b 0.0.0.0:7777 --access-logfile - django_app.wsgi -k gevent + gunicorn -w 1 -b 0.0.0.0:7777 --access-logfile - django_app.wsgi -k gevent fi diff --git a/utils/build/docker/python/django/django_app/wsgi.py b/utils/build/docker/python/django/django_app/wsgi.py index 1735fc14448..a9563f39859 100644 --- a/utils/build/docker/python/django/django_app/wsgi.py +++ b/utils/build/docker/python/django/django_app/wsgi.py @@ -7,6 +7,7 @@ https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/ """ +import ddtrace.auto import os from django.core.wsgi import get_wsgi_application From eff02d7bca981c3e9ffeb20f8d6c10823c7f00b2 Mon Sep 17 00:00:00 2001 From: Federico Mon Date: Mon, 3 Nov 2025 20:15:52 +0100 Subject: [PATCH 4/6] force branch --- binaries/python-load-from-pip | 1 + 1 file changed, 1 insertion(+) create mode 100644 binaries/python-load-from-pip diff --git a/binaries/python-load-from-pip b/binaries/python-load-from-pip new file mode 100644 index 00000000000..8dd131f0ef7 --- /dev/null +++ b/binaries/python-load-from-pip @@ -0,0 +1 @@ +ddtrace @ git+https://github.com/DataDog/dd-trace-py.git@gnufede/pep420-test From 288b88542494fe1340efeca6afe9631de6d2675f Mon Sep 17 00:00:00 2001 From: Federico Mon Date: Mon, 3 Nov 2025 20:16:30 +0100 Subject: [PATCH 5/6] Revert "use ddtrace.auto instead of ddtrace-run" This reverts commit eac06a4ed9142451e38ee556e9c36edceb55ec67. --- utils/build/docker/python/django/app.sh | 5 ++--- utils/build/docker/python/django/django_app/wsgi.py | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/utils/build/docker/python/django/app.sh b/utils/build/docker/python/django/app.sh index 3bedf737738..87b2340ebe3 100755 --- a/utils/build/docker/python/django/app.sh +++ b/utils/build/docker/python/django/app.sh @@ -4,9 +4,8 @@ echo "--- PIP FREEZE ---" python -m pip freeze echo "------------------" - if [[ $(python -c 'import sys; print(sys.version_info >= (3,12))') == "True" ]]; then - gunicorn -w 1 -b 0.0.0.0:7777 --header-map dangerous --access-logfile - django_app.wsgi -k gevent + ddtrace-run gunicorn -w 1 -b 0.0.0.0:7777 --header-map dangerous --access-logfile - django_app.wsgi -k gevent else - gunicorn -w 1 -b 0.0.0.0:7777 --access-logfile - django_app.wsgi -k gevent + ddtrace-run gunicorn -w 1 -b 0.0.0.0:7777 --access-logfile - django_app.wsgi -k gevent fi diff --git a/utils/build/docker/python/django/django_app/wsgi.py b/utils/build/docker/python/django/django_app/wsgi.py index a9563f39859..1735fc14448 100644 --- a/utils/build/docker/python/django/django_app/wsgi.py +++ b/utils/build/docker/python/django/django_app/wsgi.py @@ -7,7 +7,6 @@ https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/ """ -import ddtrace.auto import os from django.core.wsgi import get_wsgi_application From 48c8fae8c5e8fc686f349955c04089b3c0f91fbb Mon Sep 17 00:00:00 2001 From: Federico Mon Date: Mon, 3 Nov 2025 21:56:06 +0100 Subject: [PATCH 6/6] add git --- utils/build/docker/python/django-poc.base.Dockerfile | 2 +- utils/build/docker/python/django-py3.13.base.Dockerfile | 2 +- utils/build/docker/python/fastapi.base.Dockerfile | 2 +- utils/build/docker/python/flask-poc.base.Dockerfile | 2 +- utils/build/docker/python/python3.12.base.Dockerfile | 2 +- utils/build/docker/python/uwsgi-poc.base.Dockerfile | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/utils/build/docker/python/django-poc.base.Dockerfile b/utils/build/docker/python/django-poc.base.Dockerfile index 467e40b3691..53f1cd9bb88 100644 --- a/utils/build/docker/python/django-poc.base.Dockerfile +++ b/utils/build/docker/python/django-poc.base.Dockerfile @@ -1,7 +1,7 @@ FROM python:3.11-slim # install bin dependancies -RUN apt-get update && apt-get install -y curl +RUN apt-get update && apt-get install -y --no-install-recommends curl gcc openssh-client git # print versions RUN python --version && curl --version diff --git a/utils/build/docker/python/django-py3.13.base.Dockerfile b/utils/build/docker/python/django-py3.13.base.Dockerfile index 25a2b379967..cf38434fe4d 100644 --- a/utils/build/docker/python/django-py3.13.base.Dockerfile +++ b/utils/build/docker/python/django-py3.13.base.Dockerfile @@ -1,7 +1,7 @@ FROM python:3.13-slim # install bin dependancies -RUN apt-get update && apt-get install -y curl +RUN apt-get update && apt-get install -y --no-install-recommends curl openssh-client git # print versions RUN python --version && curl --version diff --git a/utils/build/docker/python/fastapi.base.Dockerfile b/utils/build/docker/python/fastapi.base.Dockerfile index 3b0d795f156..46913a71294 100644 --- a/utils/build/docker/python/fastapi.base.Dockerfile +++ b/utils/build/docker/python/fastapi.base.Dockerfile @@ -1,7 +1,7 @@ FROM python:3.11-slim # install bin dependancies -RUN apt-get update && apt-get install -y curl +RUN apt-get update && apt-get install -y --no-install-recommends curl openssh-client git # print versions RUN python --version && curl --version diff --git a/utils/build/docker/python/flask-poc.base.Dockerfile b/utils/build/docker/python/flask-poc.base.Dockerfile index 525505d73d3..3a728d43e42 100644 --- a/utils/build/docker/python/flask-poc.base.Dockerfile +++ b/utils/build/docker/python/flask-poc.base.Dockerfile @@ -1,7 +1,7 @@ FROM python:3.11-slim # install bin dependancies -RUN apt-get update && apt-get install -y curl gcc +RUN apt-get update && apt-get install -y --no-install-recommends curl gcc openssh-client git # print versions RUN python --version && curl --version diff --git a/utils/build/docker/python/python3.12.base.Dockerfile b/utils/build/docker/python/python3.12.base.Dockerfile index 06c68fb7851..59b00eeab51 100644 --- a/utils/build/docker/python/python3.12.base.Dockerfile +++ b/utils/build/docker/python/python3.12.base.Dockerfile @@ -1,7 +1,7 @@ FROM python:3.12-slim # install bin dependancies -RUN apt-get update && apt-get install -y curl +RUN apt-get update && apt-get install -y --no-install-recommends curl gcc openssh-client git # print versions RUN python --version && curl --version diff --git a/utils/build/docker/python/uwsgi-poc.base.Dockerfile b/utils/build/docker/python/uwsgi-poc.base.Dockerfile index fb329c22442..fc5df16f4a4 100644 --- a/utils/build/docker/python/uwsgi-poc.base.Dockerfile +++ b/utils/build/docker/python/uwsgi-poc.base.Dockerfile @@ -1,7 +1,7 @@ FROM python:3.11-slim # install bin dependancies -RUN apt-get update && apt-get install -y gcc curl +RUN apt-get update && apt-get install -y --no-install-recommends curl gcc openssh-client git # print versions RUN python --version && curl --version