Actions
Issue #6643
closedIssue #6623: pulpcore and plugin pre-flight check seems to not be enforcing and then installer fails at collectstatic
pre-flight check does not understand the plugin "upgrade" boolean
Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
Installer - Moved to GitHub issues
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Sprint 72
Quarter:
Description
Consider the following scenario:
- Pulp 3.2.1 & pulp-file 0.2 were installed.
- The user runs the latest pulp_installer (3.3), to upgrade pulpcore (3.3), and pulp-file (0.3).
- The user specifies to install pulp-file in pulp_install_plugins, and includes "upgrade:true ". This instructs the installer to upgrade pulp-file to the latest version, which is currently 0.3.
This causes the following to happen
- /usr/local/lib/pulp/requirements.txt exists and contains pulp-file==0.2
- pip-compile sees "pulp-file" in requirements.in that pulp_installer generates, but has no further instructions to upgrade pulp-file.
- pip-compile produces the following error, and the installer fails:
There are incompatible versions in the resolved dependencies:
pulpcore==3.3.0 (from -r requirements.in (line 1))
pulpcore<3.3,>=3.0 (from pulp-file==0.2.0->-r requirements.in (line 2))
- However, if the pre-flight check was ignored, the install would have succeeded, because pulp-file would have been upgraded actually.
Users can work around this currently by specifying "version" for the plugin.
We can fix this by running a pre-flight command like:
pip-compile -P pulp-file
or if multiple plugins are specified to be upgraded:
pip-compile -P pulp-file -P pulp-container
This is in addition to the requirements.in existing like it currently does.
I confirmed that this will fix this with a venv, starting with these packages installed: pip install pulp-container==1.2.0 pulp-file==0.2.0 pip install pulp-container==1.2.0 pulp-file==0.2.0 pulpcore==3.2.1
Actions
Problem: pre-flight check does not understand the plugin "upgrade" boolean
Solution: Call
pip-compile -P pulp-file -P pip-compile
for example, where each named plugin hasupgrade: true
. The requirements.in will continue to list all plugins, and their specified versions (if any.)fixes: #6643 pre-flight check does not understand the plugin "upgrade" boolean https://pulp.plan.io/issues/6643
re: https://pulp.plan.io/issues/6623 pulpcore and plugin pre-flight check seems to not be enforcing and then installer fails at collectstatic