• 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).

            Assignee:
            Teodor Voinea
            Reporter:
            Teodor Voinea
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: