Project

Profile

Help

Story #6929

Story #6875: [Meta] Integrate with Bandersnatch

As a User, I can configure Pulp Python remotes using a Bandersnatch config file

Added by dalley 6 months ago. Updated 5 months ago.

Status:
MODIFIED
Priority:
Normal
Assignee:
Sprint/Milestone:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Target Release - Python:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:

Description

The Bandersnatch tool for creating local mirrors of PyPI has a straightforwards config file format which is much more user friendly compared to creating a complex JSON configuration object as you need to do with Pulp. It would be ideal if Pulp was able to parse these config files as-is and create a PythonRemote from them.

https://bandersnatch.readthedocs.io/en/latest/filtering_configuration.html

Bandersnatch's existing configuration parsing code should be used to parse the config files (we should not do parsing ourselves), and the settings which are relevant to Pulp should be stored in some appropriate format on the PythonRemote object.

Not all fields able to be expressed in the Bandersnatch config file are applicable to Pulp - they should be ignored. Examples of this include (but not limited to):

Regex filtering support should also likely be ignored for the initial implementation.

In keeping with this change, we will likely want to make changes to the schema and database representation of PythonRemote to better match the Bandersnatch representation, such as moving from a list of dicts for "project specification" to a list of strings.


Related issues

Related to Python Support - Story #4690: Implement package locking / digest specificationNEW

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision 6a7109b4 View on GitHub
Added by gerrod 5 months ago

New endpoint /from_bandersnatch/ for /remotes/python/python/ that creates a Python remote through uploading a Bandersnatch config

fixes #6929 https://pulp.plan.io/issues/6929

History

#1 Updated by dalley 6 months ago

  • Subject changed from Impleme to Implement support for Bandersnatch config file format for expressing sync settings
  • Description updated (diff)

#2 Updated by dalley 6 months ago

  • Related to Story #4690: Implement package locking / digest specification added

#3 Updated by dalley 6 months ago

  • Tracker changed from Issue to Story
  • Subject changed from Implement support for Bandersnatch config file format for expressing sync settings to As a User, I can configure Pulp Python remotes using a Bandersnatch config file
  • % Done set to 0

#4 Updated by gerrod 5 months ago

  • Status changed from NEW to MODIFIED
  • % Done changed from 0 to 100

#5 Updated by dalley 5 months ago

  • Assignee set to gerrod

Please register to edit this issue

Also available in: Atom PDF