自 2023 年 5 月 4 日 16:00 起,我们开始看到我们的一项 Jenkins 作业失败并出现以下错误:
Traceback (most recent call last):
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 822, in get_info
return json.loads(self.jenkins_open(
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 560, in jenkins_open
return self.jenkins_request(req, add_crumb, resolve_auth).text
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 576, in jenkins_request
self.maybe_add_crumb(req)
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 373, in maybe_add_crumb
response = self.jenkins_open(requests.Request(
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 560, in jenkins_open
return self.jenkins_request(req, add_crumb, resolve_auth).text
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 579, in jenkins_request
self._request(req))
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 553, in _request
return self._session.send(r, **_settings)
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/requests/sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/requests/adapters.py", line 483, in send
timeout = TimeoutSauce(connect=timeout, read=timeout)
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/urllib3/util/timeout.py", line 119, in __init__
self._connect = self._validate_timeout(connect, "connect")
File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/urllib3/util/timeout.py", line 156, in _validate_timeout
raise ValueError(
ValueError: Timeout value connect was <object object at 0x7efe5adb9aa0>, but it must be an int, float or None.
由于我们这边的配置没有任何变化,这看起来像是上游问题。
我们在工作中使用了
requests
,而requests
使用了urllib3
。
我们如何解决这个问题?
2.0.2
的新版本urllib3
于2023年5月4日发布,可以在这里看到:urllib3 2.0.2 - 发布历史
由于我们的作业在作业开始时使用 pip 安装 Python 库,因此它开始安装最新版本的
urllib3
,但存在一些问题。所以,它看起来是一个上游问题。
我们通过在我们的
urllib3
文件中将>=1.26.15,<2
版本固定到requirements.txt
来修复它。