Fix: Pin urllib3 version in logs-deploy.sh 49/73649/2 v0.92.5
authorAnil Belur <abelur@linuxfoundation.org>
Wed, 24 Sep 2025 12:25:33 +0000 (22:25 +1000)
committerAnil Belur <abelur@linuxfoundation.org>
Wed, 24 Sep 2025 12:35:23 +0000 (22:35 +1000)
This patch pins urllib3~=1.26.15 in logs-deploy.sh script to fix
S3 upload timeout errors. Jobs were failing with
"urllib3.exceptions.ReadTimeoutError" and
"botocore.exceptions.ReadTimeoutError" when uploading large log
files to S3.

The error occurs because newer urllib3 versions (>=2.0.0) have
incompatible timeout handling with boto3/botocore used for
S3 uploads. This change makes logs-deploy.sh consistent with
other scripts in global-jjb that already pin urllib3 to v1.26.15.

Error:
TimeoutError: _ssl.c:989: The handshake operation timed out
urllib3.exceptions.ReadTimeoutError: AWSHTTPSConnectionPool(host='
odl-logs-s3-cloudfront-index.s3.us-west-1.amazonaws.com', port=443):
Read timed out. (read timeout=60) botocore.exceptions.ReadTimeoutErr:
Read timeout on endpoint URL: "https://odl-logs-s3-cloudfront-
index.s3.us-west-1.amazonaws.com/logs/releng/vex-yul-odl-jenkins-1/
controller-maven-verify-master-mvn39-openjdk21/3193/
_build-details.log.gz"

Issue: IT-28722
Change-Id: Iaf5818063d645994c4aa1b1f002e53ef2661d418
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
releasenotes/notes/pin-urllib3-logs-deploy-script-0a21b684fc35d28e.yaml [new file with mode: 0644]
shell/logs-deploy.sh

diff --git a/releasenotes/notes/pin-urllib3-logs-deploy-script-0a21b684fc35d28e.yaml b/releasenotes/notes/pin-urllib3-logs-deploy-script-0a21b684fc35d28e.yaml
new file mode 100644 (file)
index 0000000..6ae3505
--- /dev/null
@@ -0,0 +1,10 @@
+---
+fixes:
+  - |
+    Pin urllib3~=1.26.15 in logs-deploy.sh script. This fixes S3 upload timeout errors
+    where the connection was timing out with "urllib3.exceptions.ReadTimeoutError" and
+    "botocore.exceptions.ReadTimeoutError" when uploading large log files to S3.
+
+    The error occurs because newer urllib3 versions have incompatible timeout handling
+    with boto3/botocore used for S3 uploads. This change makes logs-deploy.sh
+    consistent with other scripts in global-jjb that already pin urllib3 to version 1.26.15.
index d797fa7..2131a2b 100644 (file)
@@ -12,7 +12,7 @@ echo "---> logs-deploy.sh"
 
 # shellcheck disable=SC1090
 source ~/lf-env.sh
-lf-activate-venv --python python3.8 lftools
+lf-activate-venv --python python3.8 lftools urllib3~=1.26.15
 
 # Ensure we fail the job if any steps fail
 # Disable 'globbing'