From 5ad118c0338d7f5822c7a8962ed85574046b3601 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Ollivier?= Date: Thu, 21 Aug 2025 12:30:35 +0200 Subject: [PATCH] Use time.sleep() instead of eventlet.sleep() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://opendev.org/openstack/python-cinderclient/commit/9df662e053a42afa667706d542f2896e288d69ab https://gibizer.github.io/posts/Eventlet-Removal-The-First-Threading-Bug/ Change-Id: I440adc104d43e0b1077100701767695ac53593eb Signed-off-by: Cédric Ollivier --- docker/core/9df662e053.patch | 37 +++++++++++++++++++++++++++++++++++++ docker/core/Dockerfile | 4 +++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 docker/core/9df662e053.patch diff --git a/docker/core/9df662e053.patch b/docker/core/9df662e053.patch new file mode 100644 index 000000000..5124ba37b --- /dev/null +++ b/docker/core/9df662e053.patch @@ -0,0 +1,37 @@ +From 9df662e053a42afa667706d542f2896e288d69ab Mon Sep 17 00:00:00 2001 +From: Cyril Roelandt +Date: Tue, 12 Nov 2024 23:01:12 +0100 +Subject: [PATCH] Use time.sleep() instead of eventlet.sleep() + +In a patched environment, time.sleep will be eventlet.sleep, so this +does not have any actual impact, but it removes one direct dependency on +eventlet. + +Change-Id: I54112d061fa8118a9a6d91abf07442d8834425b5 +--- + cinderclient/client.py | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/cinderclient/client.py b/cinderclient/client.py +index c99a2e7a6..f065c9fc9 100644 +--- a/cinderclient/client.py ++++ b/cinderclient/client.py +@@ -25,6 +25,7 @@ import logging + import os + import pkgutil + import re ++from time import sleep + import urllib + from urllib import parse as urlparse + +@@ -42,10 +43,6 @@ from cinderclient import api_versions + from cinderclient import exceptions + import cinderclient.extension + +-try: +- from eventlet import sleep +-except ImportError: +- from time import sleep + + try: + osprofiler_web = importutils.try_import("osprofiler.web") diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile index f03e97167..eade50a5a 100644 --- a/docker/core/Dockerfile +++ b/docker/core/Dockerfile @@ -4,6 +4,7 @@ ARG BRANCH=master ARG OPENSTACK_TAG=master COPY Switch-to-threading.Thread-for-Rally-tasks.patch /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch +COPY 9df662e053.patch /tmp/9df662e053.patch RUN apk -U upgrade && \ apk --no-cache add --update \ python3 py3-wheel libffi openssl libjpeg-turbo py3-pip bash \ @@ -33,9 +34,10 @@ RUN apk -U upgrade && \ pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/functest/upper-constraints.txt -c/src/requirements/upper-constraints.txt \ -e /src/functest && \ (cd /src/rally && patch -p1 < /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch) && \ + (cd /usr/lib/python3.10/site-packages/cinderclient && patch -p2 < /tmp/9df662e053.patch) && \ sed -i -E /#egg=rally/d /src/functest/upper-constraints.txt && \ sed -i -E /#egg=tempest/d /src/functest/upper-constraints.txt && \ - rm -r /src/requirements/.git /src/functest/.git \ + rm -r /src/requirements/.git /src/functest/.git /tmp/9df662e053.patch \ /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch && \ mkdir -p /etc/xtesting && \ cp /src/functest/functest/ci/logging.ini /etc/xtesting/ && \ -- 2.16.6