Project

Profile

Help

Story #147

Updated by cduryee about 9 years ago

RCM and other users (like myself!) have to publish repos to rsync targets. Currently this involves a manual rsync step. 

 Ideally the publish operation could perform the rsync. We would need to handle both username/password auth and ssh pubkey auth. Some investigation may be needed of the best way to store such credentials securely in Pulp so they are not available for non-admin API users to view. 

 deliverables: 

  * an rsync step in the step framework via pulp/server/pulp/plugins/util/publish_step.py. We can use subprocess for the rsync call and if rsync does not exist on the system, display an error and exit. We don't need to add rsync as a requirement to the spec file. 
  * define standard options for a distributor that wants to use this step. All information needed for the export should live in the distributor config, similarly to the way that the certificates required for a sync live in the importer config. 
  * create a new distributor for whichever type of repo you want to perform this publish. For example, in pulp_rpm it would be a new distributor class & a subclass of pulp_rpm.plugins.distributors.yum.publish.BaseYumRepoPublisher that adds the rsync step 
  * 100% test coverage for the above 
  * documentation on how to use this new distributor via API calls 
  * release note for new feature 
  * optional: support in pulp-admin to enable the new distributor. This would include status updates via the status line since the percentage would be difficult to do. 

Back