fix(build): stop replacing the pip bundled in the salt-master image - #5069
Open
ezekiel-alexrod wants to merge 1 commit into
Open
fix(build): stop replacing the pip bundled in the salt-master image#5069ezekiel-alexrod wants to merge 1 commit into
ezekiel-alexrod wants to merge 1 commit into
Conversation
Contributor
Hello ezekiel-alexrod,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Contributor
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
Contributor
|
LGTM |
Every image build fails since pip 26.2 was published (2026-07-29 21:57 UTC):
TypeError: InstallRequirement.install() got an unexpected keyword
argument 'script_executable'
The Dockerfile upgraded pip with no version bound before installing the
Python dependencies. Salt ships its own pip inside the onedir and patches it
through relenv, so replacing that pip breaks every later `salt-pip install`
as soon as upstream changes the internals the patch relies on. pip 26.2 did
exactly that. The last green build of this branch, on 2026-07-28, still
picked up 26.1.2.
Drop the upgrade rather than pin it: the bundled pip is by construction the
one relenv supports, so nothing here has to track upstream pip releases, and
the build stops depending on whatever PyPI publishes. Measured on Salt
3006.27: the onedir ships pip 25.2, which installs `etcd3gw` and
`kubernetes` on its own, so the upgrade brought nothing.
Should a future dependency really need a newer pip, the build will say so,
and the version can be pinned deliberately at that point.
`SALT_MASTER_BUILD_ID` goes to 2, since the image content changes.
`development/133.0` is not affected: it still installs the system pip with
its own pin, so there is nothing to merge up.
ezekiel-alexrod
force-pushed
the
bugfix/MK8S-372-pin-pip-in-salt-master-image
branch
from
July 30, 2026 14:27
144bda7 to
90954b2
Compare
Contributor
|
LGTM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Component: build, containers
Context:
Every image build has failed since yesterday evening, on every branch targeting
development/134.0, at_image_build:salt-master:images/salt-master/Dockerfileupgraded pip with no version bound beforeinstalling the Python dependencies. Salt ships its own pip inside the onedir and
patches it through relenv, so replacing that pip breaks every later
salt-pip installas soon as upstream changes the internals the patch relies on.pip 26.2, published 2026-07-29 at 21:57 UTC, did exactly that. The last green
build of this branch, the nightly of 2026-07-28, still picked up 26.1.2. Only the
buildjob is affected: tests and lint pass.MK8S-372.
Summary:
--upgrade piprather than pin it. The bundled pip is by constructionthe one relenv supports, so nothing here has to track upstream pip releases and
the build stops depending on whatever PyPI publishes that day.
etcd3gw ~= 2.6.0andkubernetes ~= 33.1.0on its own. The upgrade broughtnothing. Should a future dependency really need a newer pip, the build will say
so and the version can be pinned deliberately at that point.
SALT_MASTER_BUILD_IDgoes to 2, since the image content changes. The tagbecomes
3006.27-2and propagates throughCONTAINER_IMAGES; no other placehardcodes it.
development/133.0is not affected: it still installs the system pip withits own pin, so there is nothing to merge up.
Acceptance criteria:
The
buildjob goes green again, here and on every other open pull requestonce they pick this up.
Built locally from this branch:
SUCCESS IMG BUILD salt-master:3006.27-2in49 s, and inside the resulting image:
The bundled pip is untouched and both dependencies are installed.
An earlier revision of this branch pinned pip to 26.1.2 instead, on the
assumption that the bundled pip was too old for those dependencies. A probe
build disproved it, hence the simpler change.
No CHANGELOG entry: the regression never reached a release, and the images this
produces behave exactly as before.