Issue #3338
closedrsync distributor syncs symlinks to wrong directory if repo_relative_path starts with /
Description
Due behavior of
os.path.join("/root/", "/foo/")
pulp/plugins/rsync/publish.py::RSyncPublishStep::make_destination
produces wrong destination directory which cause symlinks + extra content are synced to
<host>:/<relative_path> instead of <host>:<remote_root>/<relative_path>
Updated by dalley over 6 years ago
- Sprint/Milestone set to 54
- Triaged changed from No to Yes
Updated by jortel@redhat.com over 6 years ago
The fix needs to include preventing the relative path from being absolute (having a leading /). The publish should fail when encountering a relative path that is absolute.
Updated by mansari over 6 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to mansari
Updated by jortel@redhat.com over 6 years ago
- Sprint changed from Sprint 33 to Sprint 34
Updated by daviddavis over 6 years ago
- Sprint changed from Sprint 34 to Sprint 35
Updated by rchan over 6 years ago
- Status changed from ASSIGNED to NEW
- Assignee deleted (
mansari)
Updated by jortel@redhat.com about 6 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to jortel@redhat.com
Updated by jortel@redhat.com about 6 years ago
The rsync distributor documentation and code are confusing. I don't see a distributor configuration property named repo_relative_path in the documentation or the code. The closest I can find is remote_units_path which appears to be verified in the remote configuration but used from the root configuration which is a bug.
Please provided a more detailed explanation and steps to reproduce including a sample distributor configuration.
Updated by dkliban@redhat.com about 6 years ago
- Sprint changed from Sprint 39 to Sprint 40
Updated by jortel@redhat.com about 6 years ago
- Status changed from ASSIGNED to NEW
- Assignee deleted (
jortel@redhat.com)
Updated by jluza almost 6 years ago
repo_relative_path is attribute shared for all types of repositories. You can find it for example here:
pulp_rpm/plugins/pulp_rpm/plugins/distributors/yum/configuration.py::get_repo_relative_path which looks at repo config for
config.get('relative_url', repo.repo_id)
btw, this was filled against master but I think master is already for pulp-3.x which could be different from what was in pulp-2.x
Updated by bmbouter over 5 years ago
- Status changed from NEW to CLOSED - WONTFIX