Story #5091

Updated by bmbouter almost 5 years ago

h3. Problem 

 To allow remote storage and serving of Pulp content it would be great if an exporter would rsync content to a remote location. 

 h3. Design 

 In Pulp3 an 'exporter' can send content out of a Pulp system. An exporter named RsyncExporter RsyncDistributor should be created that takes the most important option that rsync accepts. Additionally the RsyncExporter RsyncDistributor takes either a 'repository' or 'repository_version' but not both. If 'repository' it will publish the latest repository_version. 

 TBD: which fields specifically? 

 h3. Implementation 

 Internally it will write the entire repository to a temporary area on-disk and then shell out to rsync. Other ports of rsync-like functionality to Python I don't believe contain the optimization and stability of rsync itself. 

 h3. On Demand Content 

 This feature does not work for on-demand content because the content must be present locally for rsync to ship it to the remote system.