-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: buildscripts
-
DevProd Test Infrastructure
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Upgrade evergreen.py (evergreen-py) from 3.4.4 to 3.11.3 on the v7.0 branch, as a prerequisite for the SERVER-132514 v7.0 backport ([BACKPORT-29874]): the new `buildscripts/util/evergreen_retry.py` imports `DEFAULT_HTTP_RETRY_*` constants and calls `RetryingEvergreenApi.get_api(log_on_error=True)`, neither of which exists in evergreen.py 3.4.4.
3.11.3 is the version 8.0 ships and is a drop-in for 7.0: its dependencies are lower-bound only (Click >=7, pydantic >=1, structlog >=19, PyYAML >=5, requests >=2) with no packaging dependency, so all are satisfied by 7.0's existing pins. 3.15.0 (8.3/9.0) was avoided because it requires packaging >=25 and Click >=8, which conflict with 7.0's packaging <=21.3 and click ~=7.0 pins (the latter needed by shrub.py 1.1.4).
The upgrade drops evergreen.py 3.4.4's transitive `tenacity` dependency, which `buildscripts/mongosymb.py` imports directly but 7.0 never pinned — so `tenacity >= 5` is pinned explicitly in `etc/pip/components/core.req`. An inline `pylint: disable=protected-access` is added in evergreen_retry.py for the `_http_retry` reassignment (W0212; 7.0's pylint enables it, 9.0's config does not).
Verified: all 124 evergreen unit tests pass locally; required patch build on mongodb-mongo-v7.0-staging is green (patch 6ab2cf20bd1aa80007718949).
- is related to
-
SERVER-132514 Consolidate Evergreen retry setup and fix retries never applying
-
- Closed
-