Project

Profile

Help

Issue #6644

closed

Issue #6623: pulpcore and plugin pre-flight check seems to not be enforcing and then installer fails at collectstatic

pre-flight check does not check plugins that are installed but not listed in pulp_install_plugins

Added by mdepaulo@redhat.com over 4 years ago. Updated over 4 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
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:

  1. Pulp 3.2.1, pulp-file 0.2, & pulp-container 1.2.0 were installed.
  2. The user runs the latest pulp_installer (3.3) with the following pulp_install_plugins, which is missing pulp_container:
pulp_install_plugins:
  pulp-file: 
  version: "0.3"

This causes the following to happen

  1. The pre-flight (pip-compile) check determines that pulp-file 0.3 is compatible with pulpcore 3.3.0, and passes.
  2. It sees pulp-container 1.2.0 in the old requirements.txt, and removes it from the new requirements.txt it just generated. This is because assumes that the user means to uninstall pulp-container, which its countainerpart pip-sync would do
  3. pulp_installer uses pip commands to perform the install/upgrade instead. (Pulp doesn't support uninstalling plugins,
  4. The installer later fails with an import error due to pulp-container still being an old incompatible version.

Users can work around this currently by making sure to specify all installed plugins in pulp_install_plugins.

We need to fix this by adding any missing installed plugins, not found in pulp_install_plugins, to requirements.in. We need to normalize their names with dashes (pip / pypi converts underscores to dashes.) And we need to search for plugins named like "pulp-*", but we may make exceptions (for galaxy_ng.)

Also available in: Atom PDF