Comment 11 for bug 1906322

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to devstack (master)

Reviewed: https://review.opendev.org/c/openstack/devstack/+/802642
Committed: https://opendev.org/openstack/devstack/commit/6b9a5646225a766f6240e2a1a93a92b82e088aa0
Submitter: "Zuul (22348)"
Branch: master

commit 6b9a5646225a766f6240e2a1a93a92b82e088aa0
Author: Ian Wienand <email address hidden>
Date: Wed Jul 28 11:19:57 2021 +1000

    Revert "Workaround for new pip 20.3 behavior"

    This reverts commit 7a3a7ce876a37376fe0dca7278e41a4f46867daa and
    bcd0acf6c0b5d6501e91133c3a937b3fc40f7122 and part of
    f1ed7c77c50ac28cb58c9f7ed885c6a3e0a75403 which all cap our pip
    installs.

    Given the pip ecosystem can often incorporate major changes, tracking
    upstream at least generally gives us one problem at a time to solve
    rather than trying to handle version jumps when LTS distros update.

    The new dependency resolver included some changes that disallow
    setting URL's like "file:///path/to/project#egg=project" in
    constraints. Apparently the fact it used to work was an accident of
    the requires/constraints mechanism; it does make some sense as the URL
    doesn't really have a version-number that the resolver can put in an
    ordering graph.

    The _setup_package_with_constraints_edit function comment highlights
    what this is trying to do

     # Updates the constraints from REQUIREMENTS_DIR to reflect the
     # future installed state of this package. This ensures when we
     # install this package we get the from source version.

    In other words; if constraints has "foo==1.2.3" and Zuul has checked
    out "foo" for testing, we have to make sure pip doesn't choose version
    1.2.3 from pypi.

    It seems like removing the entry from upper-requirements.txt is the
    important part; adding the URL path to the on-disk version was just
    something that seemed to work at the time, but isn't really necessary.
    We will install the package in question which will be the latest
    version (from Zuul checkout) and without the package in
    upper-requirements.txt nothing will try and downgrade it.

    Therefore the solution proposed here is to remove the adding of the
    URL parts.

    This allows us to uncap pip and restore testing with the new
    dependency resolver.

    Closes-Bug: #1906322
    Change-Id: Ib9ba52147199a9d6d0293182d5db50c4a567d677