Project

Profile

Help

Story #147

closed

As a pulp user, I would like to publish to an rsync target

Added by cduryee about 9 years ago. Updated over 3 years ago.

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

0%

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

Description

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.

Also available in: Atom PDF