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.)

Actions #1

Updated by mdepaulo@redhat.com over 4 years ago

  • Subject changed from pre-flight check does not understand plugins that are installed but not listed in pulp_install_plugins to pre-flight check does not check plugins that are installed but not listed in pulp_install_plugins
Actions #2

Updated by fao89 over 4 years ago

  • Triaged changed from No to Yes
  • Sprint set to Sprint 72
Actions #3

Updated by mdepaulo@redhat.com over 4 years ago

  • Description updated (diff)

Added by Mike DePaulo over 4 years ago

Revision 0c5f7ac8 | View on GitHub

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

Solution: List them in requirements.in Implementation includes:

  1. New non-user-facing variable pulp_install_plugins_normalized with plugin names corrected from underscores to dashes.
  2. Having the entire repo use pulp_install_plugins_normalized (a safety measure so that the same values used for pre-flight checks is used for installation.)
  3. A currently unadvertised variable pulp_irregularly_named_plugins containing a list of pip packages that are plugins but do not begin with "pulp-".
  4. Print pulp_install_plugins variables to facilitate debugging, only if verbosity level is at least 1 (-v).

fixes: #6644 pre-flight check does not check plugins that are installed but not listed in pulp_install_plugins https://pulp.plan.io/issues/6644

re: #6623 pulpcore and plugin pre-flight check seems to not be enforcing and then installer fails at collectstatic https://pulp.plan.io/issues/6623

Added by Mike DePaulo over 4 years ago

Revision 0c5f7ac8 | View on GitHub

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

Solution: List them in requirements.in Implementation includes:

  1. New non-user-facing variable pulp_install_plugins_normalized with plugin names corrected from underscores to dashes.
  2. Having the entire repo use pulp_install_plugins_normalized (a safety measure so that the same values used for pre-flight checks is used for installation.)
  3. A currently unadvertised variable pulp_irregularly_named_plugins containing a list of pip packages that are plugins but do not begin with "pulp-".
  4. Print pulp_install_plugins variables to facilitate debugging, only if verbosity level is at least 1 (-v).

fixes: #6644 pre-flight check does not check plugins that are installed but not listed in pulp_install_plugins https://pulp.plan.io/issues/6644

re: #6623 pulpcore and plugin pre-flight check seems to not be enforcing and then installer fails at collectstatic https://pulp.plan.io/issues/6623

Actions #4

Updated by Anonymous over 4 years ago

  • Status changed from ASSIGNED to MODIFIED
Actions #5

Updated by bmbouter over 4 years ago

  • Category set to Installer - Moved to GitHub issues
  • Tags deleted (Pulp 3 installer)
Actions #6

Updated by dkliban@redhat.com over 4 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF