Project

Profile

Help

Story #9170

Updated by fao89 over 2 years ago

 

 **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](https://pulp.plan.io/issues/8133) [2](https://pulp.plan.io/issues/7208) against a number of repositories [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/ 
 ), a lot of investigation has gone into identifying potential architectural changes to address the problem [8](https://hackmd.io/02KBjCD3Q0WP7p4ALwzhJw?view#relative_path-problem 
 ), and several workarounds [9](https://github.com/pulp/pulp_rpm/pull/2050 
 ) [10](https://github.com/pulp/pulpcore/pull/1513)    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](https://hackmd.io/@ggainey/rel_path_braindump) 

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

Back