Project

Profile

Help

Issue #3338

rsync distributor syncs symlinks to wrong directory if repo_relative_path starts with /

Added by jluza almost 2 years ago. Updated 10 months ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Severity:
2. Medium
Version:
Master
Platform Release:
Blocks Release:
OS:
Backwards Incompatible:
No
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:

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>

History

#1 Updated by dalley almost 2 years ago

  • Sprint/Milestone set to 54
  • Triaged changed from No to Yes

#2 Updated by jortel@redhat.com almost 2 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.

#3 Updated by mansari almost 2 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to mansari

#4 Updated by rchan almost 2 years ago

  • Sprint/Milestone changed from 54 to 56

#5 Updated by bmbouter almost 2 years ago

  • Sprint set to Sprint 33

#6 Updated by bmbouter almost 2 years ago

  • Sprint/Milestone deleted (56)

#7 Updated by jortel@redhat.com almost 2 years ago

  • Sprint changed from Sprint 33 to Sprint 34

#8 Updated by daviddavis almost 2 years ago

  • Sprint changed from Sprint 34 to Sprint 35

#9 Updated by rchan almost 2 years ago

  • Sprint changed from Sprint 35 to Sprint 36

#10 Updated by rchan over 1 year ago

  • Sprint changed from Sprint 36 to Sprint 37

#11 Updated by rchan over 1 year ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (mansari)

#12 Updated by rchan over 1 year ago

  • Sprint changed from Sprint 37 to Sprint 38

#13 Updated by jortel@redhat.com over 1 year ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to jortel@redhat.com

#14 Updated by rchan over 1 year ago

  • Sprint changed from Sprint 38 to Sprint 39

#15 Updated by jortel@redhat.com over 1 year ago

  • Tags deleted (Easy Fix)

#16 Updated by jortel@redhat.com over 1 year 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.

#17 Updated by dkliban@redhat.com over 1 year ago

  • Sprint changed from Sprint 39 to Sprint 40

#18 Updated by jortel@redhat.com over 1 year ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (jortel@redhat.com)

#19 Updated by rchan over 1 year ago

  • Sprint changed from Sprint 40 to Sprint 41

#20 Updated by daviddavis over 1 year ago

  • Sprint deleted (Sprint 41)

#21 Updated by jluza over 1 year 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

#22 Updated by bmbouter 10 months ago

  • Status changed from NEW to CLOSED - WONTFIX

#23 Updated by bmbouter 10 months ago

  • Tags Pulp 2 added

Please register to edit this issue

Also available in: Atom PDF