Actions
Issue #6642
closedIssue #6623: pulpcore and plugin pre-flight check seems to not be enforcing and then installer fails at collectstatic
pre-flight check does not check older pulp 3 installs properly
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.1.1 & pulp-file 0.1.1 were installed prior to the pre-flight check being implemented in pulp_installer 3.2.0.
- The user runs the latest pulp_installer (3.3), to upgrade pulpcore (3.3) & the overall pulp install.
- The user specifies to install pulp-file in pulp_install_plugins, but does not specify "upgrade" or "version" for it. This instructs the installer to not upgrade pulp-file.
This causes the following to happen
- /usr/local/lib/pulp/requirements.txt does not already exist from the Pulp 3.1.1 install run.
- pip-compile sees "pulp-file" in requirements.in that pulp_installer generates, but no pulp-file in requirements.txt. It therefore assumes that no pulp-file is installed, and the latest pulp-file will be installed by our later install task. The pip-compile pre-flight check passes.
- When pip goes to install, it sees that an older pulp-file is installed, and leaves it at the older version.
- The old pulp-file is actually incompatible with current pulpcore 3.3, and later tasks fail with a failed import.
Similar mishap could happen if the user modified the virtualenv manually with pip commands and not pip-compile.
I propose we address this by always generating requirements.txt via pip freeze
.
Related issues
Actions
Problem: pre-flight check does not check older pulp 3 installs properly
Solution: Always generate a requirements.txt from
pip freeze
fixes: #6642 pre-flight check does not analyze older pulp 3 installs properly https://pulp.plan.io/issues/6642
re: https://pulp.plan.io/issues/6623 pulpcore and plugin pre-flight check seems to not be enforcing and then installer fails at collectstatic