Fix stevedore dependency

Description

In our development environment, we utilize both pinned and unpinned package versions.

On July 17, 2024, a new version of setuptools (71.0.0) was released, which has introduced compatibility issues with some older libraries. This likely explains the current errors, as our CI system has recently rebuilt its image for testing and is now encountering failures.

In the wazo-lib-rest-client, the stevedore package has been pinned to version 3.2.2 (Bullseye version), but the setuptools package has not been pinned.

They are now, incompatible, so we have these following options

  1. Pin setuptools==52.0.0

    • pro: easy, use same logic than stevedore/requests, test same version than prod

    • con: pinning setuptools can be a painful on other packages and may require us to keep old packages not pinned (test-requirements.txt)

  2. Remove stevedore pinning

    • pro: easy

    • con: don’t test production version anymore

  3. Backport stevedore from bookworm (4.0.2)

    • pro: going forward with bookworm, compatible with latest setuptools, still tests production version

    • con: take more time to do (+1-2 hours)

  4. Pin setuptools on CI and say to dev to use <71

    • pro: quick

    • con: painful for dev to remember to use specific version

Order of preference: 3-1-2

fblackburn will try to implement solution 3 and fallback on another solution if it’s not worth it

Zendesk Ticket IDs

None

Activity

Show:

François Blackburn September 10, 2024 at 12:54 PM

Non pinning libraries are those added for tests (ex: test-requirements.txt) which are installed in the same env than the prod libraries

But this point is more a feeling and some bad experience memories on playing with setuptools version

Since the bookworm version is almost simpler and that it goes in the direction we are going, then I prioritize this solution

Charles Langlois September 9, 2024 at 7:48 PM
Edited

possible to expand on the con of setuptools pinning(1)?
In which case is it painful?
Why does it make sense to pin some libraries to versions used in prod, and not others?

Done

Details

Priority

Assignee

Reporter

Approvers

François Blackburn

Fix versions

Sprint

Zendesk Support

Created September 9, 2024 at 6:32 PM
Updated September 18, 2024 at 4:29 PM
Resolved September 11, 2024 at 12:15 PM