Project

Profile

Help

Issue #2606

Updated by mhrivnak about 7 years ago

There is a need to be able to mirror Puppet repositories, including repositories. And the optional ability to remove any local modules importer is not that no longer are present in advanced as the remote repo. This is called the "remove_missing" setting in the yum importer. RPM one. 

 Currently Katello has a number of steps to do in order to achieve that if when the sync is not the first one: 
 - unassociate all the puppet modules from repo 
 - perform sync 
 - clean orphans 

 When multiple Katello syncs run in parallel, it leads to race condition between one Pulp sync task and the orphan removal task. So that sync notices nothing but during publish one can see the error like this: 
 <pre> 
 pulp: pulp_puppet.plugins.distributors.publish:ERROR: (12867-29760) IOError: [Errno 2] No such file or directory: u'/var/lib/pulp/content/units/puppet_module/4c/052a353708dab8210898dd297f74cf9e4db4e896ae2bbca487719f02e62a3d/smals-mid_modules_wls_12-1.0.54.tar.gz' 
 </pre> 

 Adding the remove_missing option ability to mirror upstream repository as is will solve the issue because the described steps won't be needed anymore. It will have the side benefit of reducing the amount of work that needs to happen during a "smart proxy" sync. 

 This should be done for the forge importer case.

Back