Fix: pin urllib3 to <2.0.0 16/71716/1 v0.86.2
authorAnil Belur <abelur@linuxfoundation.org>
Sun, 7 May 2023 21:47:45 +0000 (07:47 +1000)
committerAnil Belur <abelur@linuxfoundation.org>
Tue, 9 May 2023 08:27:05 +0000 (18:27 +1000)
The latest version of module breaks compatibility
with python-jenkins.

Note: The pip upgrade eager option pulls in the newer
version of urllib3>2.0.0 unless the exact version is passed
with lftools.

Issue: RELENG-4715
Change-Id: Ie2fbc7fe1eb57e8936a50b176f7aae6e47efa7e6
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
releasenotes/notes/pin-urllib3-1d48b084ffb0ec9d.yaml [new file with mode: 0644]
shell/jjb-merge-job.sh
shell/python-tools-install.sh

diff --git a/releasenotes/notes/pin-urllib3-1d48b084ffb0ec9d.yaml b/releasenotes/notes/pin-urllib3-1d48b084ffb0ec9d.yaml
new file mode 100644 (file)
index 0000000..2baa9de
--- /dev/null
@@ -0,0 +1,17 @@
+---
+fixes:
+  - |
+    Pin urllib3 to <2.0.0
+
+    The latest version of module breaks compatibility with python-jenkins.
+
+    Error:
+
+    .. code-block:: bash
+
+       ValueError: Timeout value connect was <object object at
+       0x7fe57a4948a0>, but it must be an int, float or None.
+
+    Reference:
+
+       `Launchpad#2018567 <https://bugs.launchpad.net/python-jenkins/+bug/2018567>`
index 3b34fa8..5f4c564 100644 (file)
@@ -18,6 +18,6 @@ set -eu -o pipefail
 # shellcheck disable=SC1090
 source ~/lf-env.sh
 
-lf-activate-venv jenkins-job-builder setuptools==65.7.0
+lf-activate-venv jenkins-job-builder setuptools==65.7.0 urllib3~=1.26.15
 
 jenkins-jobs update --recursive --delete-old --workers "$workers" jjb/
index 65702b7..2ca350d 100644 (file)
@@ -60,6 +60,7 @@ yq
 # remove the workarounds in the future.
 importlib-resources<2.0.0  # virtualenv 20.0.21 requires importlib-resources<2.0.0 (RELENG-2993)
 pyparsing<3.0.0 # httplib2 0.20.1 requires pyparsing<3,>=2.4.2
+urllib3~=1.26.15 # python-jenkins-1.8.0 requires urllib3-1.26
 EOF
 
     #Python 3.5 in Ubuntu 16.04 workaround
@@ -76,7 +77,7 @@ EOF
     # TODO: temporarily pinning setuptools to avoid plugin version format issues
     # https://github.com/pypa/setuptools/issues/3772#issuecomment-1384342813
     python3 -m pip install --quiet --no-warn-script-location --upgrade setuptools==65.7.0
-    python3 -m pip install --quiet --no-warn-script-location --upgrade lftools[openstack]
+    python3 -m pip install --quiet --no-warn-script-location --upgrade lftools[openstack] urllib3~=1.26.15
     python3 -m pip install --quiet --no-warn-script-location --upgrade \
         --upgrade-strategy eager -r "$requirements_file"
     # installs are silent, show version details in log