Project

Profile

Help

Story #9170

[EPIC] Revisit architecture around relative_path to fully/correctly handle atypical repository-layouts

Added by ggainey about 2 months ago. Updated about 2 months ago.

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

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:

Description

History

pulp_rpm assumes that RPM Repositories follow certain rules, including:

  • One NEVRA can appear only once in a repository
  • A given artifact-checksum can appear at most once in a repository
  • It is always desireable to have repositories published using the Packages/n/nevra.rpm format

In actual real-worlkd practice, these rules are...more like a set of guidelines, really. As a result, there are real-world repositories that pulp_rpm cannot sync.

Current Status

Issues have been reported 1 2 against a number of repositories 3 4 5 6 7, a lot of investigation has gone into identifying potential architectural changes to address the problem 8, and several workarounds 9 10 have been implemented to allow users to have usable repositories even in the face of the problem (along with the low-level findings while researching possible workarounds 11

Project

The workarounds are just that - special-case code that works around the architectural issue(s) in order to get users going again, while minimizing destabilizing impact (esp to pulpcore). We need to step back and reconsider the assumptions above, and provide architectural support for handling the exception-cases listed, making them first-class approaches rather than exception-code.

References

  1. https://pulp.plan.io/issues/8133
  2. https://pulp.plan.io/issues/7208
  3. https://packages.grafana.com/oss/rpm
  4. http://repo.mysql.com/yum/mysql-tools-community/el/7/x86_64/
  5. http://ftp.cs.stanford.edu/centos/7/opstools/x86_64/
  6. https://updates.suse.com/SUSE/Backports/SLE-12-SP2_x86_64/standard/
  7. https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-8-x86_64/
  8. https://hackmd.io/02KBjCD3Q0WP7p4ALwzhJw?view#relative_path-problem
  9. https://github.com/pulp/pulp_rpm/pull/2050
  10. https://github.com/pulp/pulpcore/pull/1513
  11. https://hackmd.io/@ggainey/rel_path_braindump

History

#1 Updated by ggainey about 2 months ago

  • Description updated (diff)

#2 Updated by ggainey about 2 months ago

  • Description updated (diff)

Please register to edit this issue

Also available in: Atom PDF