Project

Profile

Help

Story #9170

closed

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

Added by ggainey over 2 years ago. Updated over 2 years ago.

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

0%

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

Description

Ticket moved to GitHub: "pulp/pulp_rpm/2290":https://github.com/pulp/pulp_rpm/issues/2290


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
Actions #1

Updated by ggainey over 2 years ago

  • Description updated (diff)
Actions #2

Updated by ggainey over 2 years ago

  • Description updated (diff)
Actions #3

Updated by fao89 over 2 years ago

  • Description updated (diff)
  • Status changed from NEW to CLOSED - DUPLICATE

Also available in: Atom PDF